当我用键盘输入任何字符或数字时,应用程序因此信息而崩溃
“由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'-[NSNull 长度]:无法识别的选择器发送到实例 0x103b5daf0'”。
应用程序中使用的每个文本字段都有这个问题。文本字段位于基于故事框的应用程序中。这是我覆盖的文本字段委托,这是异常抛出调用堆栈
当我用键盘输入任何字符或数字时,应用程序因此信息而崩溃
“由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'-[NSNull 长度]:无法识别的选择器发送到实例 0x103b5daf0'”。
应用程序中使用的每个文本字段都有这个问题。文本字段位于基于故事框的应用程序中。这是我覆盖的文本字段委托,这是异常抛出调用堆栈
问题可能是您在某处将 textField 的 text 属性设置为NSNull
(这是一个错误)。
这不是(像其他答案状态)[textField.text isEqual:[NSNull null]]
导致错误的比较。这条线是胡说八道,但不能导致崩溃。
搜索您设置文本字段text
属性的位置并检查该值是否始终为 type NSString
。
替换([textField.text isEqual:[NSNull null]])
为(textField.text.length == 0)
.
根据您的说法exception throw call stack
,此崩溃是由此方法 [textfield.text isEqual:[NSNull null]]` 引起的。您可以使用以下代码:
if (textfield.text){
}
或者
if ([textfield.text isEqualToString:@"your text"]){
}
textfield.text
是类所在的对象,NSString
[NSNull null] 也是表示空对象的对象。