我尝试了以下内容:
let str = self.passwordLabel.text?.characters.dropLast()
let s = String(describing: str)
但它给了我以下内容:
"Optional(Swift.String.CharacterView(_core: Swift._StringCore(_baseAddress: Optional(0x0000618000051e10), _countAndFlags: 9223372036854775810, _owner: Optional(Swift._HeapBufferStorage<Swift._StringBufferIVars, Swift.UInt16>)), _coreOffset: 0))"
我只想删除字符串中的最后一个字符?
答案 0 :(得分:3)
您需要打开可选字符串并且不要使用describing
初始化程序。
if let passwordText = self.passwordLabel.text {
let s = String(passwordText.characters.dropLast())
}
或保证text
不是nil
let s = String(self.passwordLabel.text!.characters.dropLast())
答案 1 :(得分:2)
请勿使用String(describing:...)
并解开可选的str
。
let passwordLabel = UILabel()
passwordLabel.text = "TEXT1"
if let str = passwordLabel.text?.characters.dropLast() {
let s = String(str)
print(s)
}
打印:TEXT