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 东西。