好吧,我不知道发生了什么。我是iOS的新手,所以我的调试技能并不是他们所需要的。我有一个文本字段,它工作得很好,直到我在我的应用程序中做了一些更改,这些更改与文本字段没有任何关系(至少我认为它们没有)。在我尝试输入之后,我一直收到这个错误"-NSNull长度:无法识别的选择器发送到实例0x1a1803490“。就在调试区打印“已开始编辑”之后。任何帮助都是非常感谢的。提前谢谢。
下面是我的代码:
@IBAction func textFieldActions(sender: AnyObject) {
print("text field actions")
}
func textFieldDidBeginEditing(textField: UITextField) {
textField.becomeFirstResponder()
print("did begin editing")
}
func textFieldDidEndEditing(textField: UITextField) {
textField.resignFirstResponder()
print("did end ediditing")
}
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder()
textField.text = nil
return true
} 发布于 2016-08-13 09:20:27
好的,基本上,你得到的错误意味着你试图在一个没有这样的方法的对象上调用一些方法。这里的对象实际上是null,所以您正在尝试调用某个null上的方法。您可能在代码中的某个地方将文本字段设为code?
你在这里给出的代码很好,所以它不是来自这里,在它破坏代码之前没有改变的是什么呢?
此外,我们还需要找出错误发生的位置。为此,创建一个异常断点,以便Xcode将指出发生崩溃的确切行:
Debug>Breakpoints>Create exception breakpoint...>ok
发布于 2016-08-13 09:25:37
可能是调试区有更多信息。请捕获帮助者的完整列表。并且你不需要使用响应器函数。它已经完成了。我怀疑您从字典中设置文本字段的文本是否具有NSNull值。NSNull是一种nil对象,它在容器中不应该有nil值。
发布于 2016-08-16 05:07:25
这里是操作台。我修复了这个问题。不知道为什么或者怎么做,但是解决这个问题的一种方法是从你的故事板场景中删除任何选项卡栏控制器或导航控制器,并将它们放回原处。
https://stackoverflow.com/questions/38928252
复制相似问题