Xcode新手求助:如何获取UILabel中字符串的字符数(附问题代码)
解决UILabel字符串字符数获取问题
嘿,作为Xcode新手碰到这种小细节问题太正常啦,我来帮你搞定这个字符数获取的问题~
先看你代码里的核心问题:
- Swift 中字符串的字符数是属性
count,不是方法count(),你写的character.count()是错误写法,正确的是直接取count。 - 直接用
!强制解包可选值(比如curr_channel.text!)风险很高,如果curr_channel.text是nil,程序会直接崩溃,得用更安全的方式处理可选值。
给你修正后的代码,我加了注释帮你理解:
@IBAction func buttonPressed(_ sender: Any) { // 先安全获取当前UILabel的文本,为空的话默认用空字符串 var currentText = curr_channel.text ?? "" let tag = (sender as! UIButton).tag // 判断当前文本的字符数是否小于2 if currentText.count < 2 { // 拼接tag对应的字符串,再赋值回UILabel currentText += String(tag) curr_channel.text = currentText } }
另外补充个小细节:如果你需要的是Unicode字符数(比如表情符号算一个字符),count就完全够用;如果是要计算UTF-8字节数,那得用currentText.utf8.count,不过你的场景用count就没问题啦。
内容的提问来源于stack exchange,提问作者Mohammed Ali
相关产品推荐
相关产品推荐

