Swift - 无法从 UITextField 获取真实文本 - 改为获取 NCIStr 结果
Swift - Cannot get real text from UITextField - get NCIStr result instead
我有一个 UITextField,在我的故事板中检查了“安全文本输入”。
当我将 UITextField.text 属性 的文本分配给变量时,我得到的值为:
class 名称 = _NSClStr
而不是文本的实际值是:
ABCD
如果我取消选中故事板中的“安全文本输入”并对变量进行相同的赋值,我会得到实际的文本。
赋值的代码非常简单:
passFieldText = self.passField.text!
启用安全入口时的调试器输出:
(lldb) print passFieldText
(String) $R0 = class name = _NSClStr
禁用安全入口时的调试器输出:
(lldb) print passFieldText
(String) $R0 = "ABCD"
我什至尝试使用局部变量而不是 class 变量:
let passFieldText = self.passField.text ?? ""
同样的结果!
(lldb) print passFieldText
(String) $R0 = class name = _NSClStr
passFieldText 被传递到另一个函数以验证密码,在另一个函数中它还显示值 class name = _NSClStr
我错过了什么?
干杯!
所以我的问题的原因不是密码字段中的文本。原来是外部服务的问题。
但是,为了帮助其他人在代码中查看密码字段的实际值,我将分享 Dominik 105 的建议以及我是如何实现它的。
要查看密码字段的值,如果我将 PRINT in code 我会看到密码字段的实际值。
print("password1: \(self.passField.text ?? "")")
给我预期的结果
ABCD
如果我在调试器输出中执行相同的 PRINT,我会看到 _NSClStr 东西。
我有一个 UITextField,在我的故事板中检查了“安全文本输入”。
当我将 UITextField.text 属性 的文本分配给变量时,我得到的值为:
class 名称 = _NSClStr
而不是文本的实际值是:
ABCD
如果我取消选中故事板中的“安全文本输入”并对变量进行相同的赋值,我会得到实际的文本。
赋值的代码非常简单:
passFieldText = self.passField.text!
启用安全入口时的调试器输出:
(lldb) print passFieldText
(String) $R0 = class name = _NSClStr
禁用安全入口时的调试器输出:
(lldb) print passFieldText
(String) $R0 = "ABCD"
我什至尝试使用局部变量而不是 class 变量:
let passFieldText = self.passField.text ?? ""
同样的结果!
(lldb) print passFieldText
(String) $R0 = class name = _NSClStr
passFieldText 被传递到另一个函数以验证密码,在另一个函数中它还显示值 class name = _NSClStr
我错过了什么?
干杯!
所以我的问题的原因不是密码字段中的文本。原来是外部服务的问题。
但是,为了帮助其他人在代码中查看密码字段的实际值,我将分享 Dominik 105 的建议以及我是如何实现它的。
要查看密码字段的值,如果我将 PRINT in code 我会看到密码字段的实际值。
print("password1: \(self.passField.text ?? "")")
给我预期的结果
ABCD
如果我在调试器输出中执行相同的 PRINT,我会看到 _NSClStr 东西。