在viewDidLoad中()我有:夫特4:类型的NSString的值没有任何构件 '计数'
let text = textField.text! as NSString
doneButton.isEnabled = (text.count > 0)
我得到错误:
类型的值的NSString没有成员“计数'
我不明白,因为之前迅速4它是characters.count,现在在其迅速4它直接宣布.count,我得到这个错误。
有人吗?
在此先感谢您的帮助
在viewDidLoad中()我有:夫特4:类型的NSString的值没有任何构件 '计数'
let text = textField.text! as NSString
doneButton.isEnabled = (text.count > 0)
我得到错误:
类型的值的NSString没有成员“计数'
我不明白,因为之前迅速4它是characters.count,现在在其迅速4它直接宣布.count,我得到这个错误。
有人吗?
在此先感谢您的帮助
首先,除非编译器会告诉你不要在斯威夫特使用NSString
。
其次所有专用方法以检查是否存在空字符串是isEmpty
let text = textField.text!
doneButton.isEnabled = !text.isEmpty
但是 - 由利奥Dabus指出的 - 有一个更聪明的方式(可用的iOS 10+)
doneButton.isEnabled = textField.hasText
let text = textField.text! as String
if(text)
{
print(text.count)
}
这是不好的,易崩溃的,不安全的swift代码。如果'textField.text!'是'nil',应用程序会崩溃。使用if-let语句:'if let text = textField.text as?字符串{print(text.count)}' – Hexfire
的NSString没有财产计数,请使用长度
print(text.length)
'NSString'有'length' ...(_violá:_ __ [类参考](https://developer.apple.com/documentation/foundation/nsstring)__在Apple Docs中)或直接在Swift中使用'String'并且'characters.count'仍然存在。 – holex
您不需要在此处将文本投射到NSString。使用直接rext作为String并使用count方法。 – dip
感谢你们的帮助;) – Julien