我有一个在Storyboard中打了"Secure Text Entry"勾选的UITextField。
当我将UITextField.text属性的文本分配给变量时,我得到的值是:class name = _NSClStr,而不是实际文本值ABCD。
如果我在Storyboard中取消“Secure Text Entry”并做同样的分配,我会得到真实的文本。
分配值的代码很简单:
当启用安全输入时,调试器输出如下:
当禁用安全输入时,调试器的输出如下:
我尝试使用本地变量代替类变量: ```
当我将UITextField.text属性的文本分配给变量时,我得到的值是:class name = _NSClStr,而不是实际文本值ABCD。
如果我在Storyboard中取消“Secure Text Entry”并做同样的分配,我会得到真实的文本。
分配值的代码很简单:
passFieldText = self.passField.text!
当启用安全输入时,调试器输出如下:
(lldb) print passFieldText
(String) $R0 = class name = _NSClStr
当禁用安全输入时,调试器的输出如下:
(lldb) print passFieldText
(String) $R0 = "ABCD"
我尝试使用本地变量代替类变量: ```
我甚至试图使用本地变量代替类变量:
```let passFieldText = self.passField.text ?? ""
相同的结果!
(lldb) print passFieldText
(String) $R0 = class name = _NSClStr
passFieldText被传递到另一个函数以验证密码,在该函数中它还显示了一个类名为 _NSClStr的值。
我错过了什么吗?
干杯!
print("password: \(passField.text ?? "")")
时会发生什么?调试器并不总是显示正确的值。 - Dominik 105