当我点击背景时,为什么我的应用会崩溃?
问题描述:
当应用程序进入警报状态并按下背景图像时,出现以下错误消息。当我点击背景时,为什么我的应用会崩溃?
2015-04-04 01:06:39.583 APP[479:44057] -[__NSCFString resignFirstResponder]: unrecognized selector sent to instance 0x16d627c0
2015-04-04 01:06:39.584 APP[479:44057] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString resignFirstResponder]: unrecognized selector sent to instance 0x16d627c0'
*** First throw call stack:
(0x270e35a7 0x34cc9c77 0x270e8a6d 0x270e6949 0x27017b68 0x4ed91 0x2a76507f 0x2a6139ed 0x2aa29951 0x2a5dd3c5 0x2a5db33f 0x2a611ddd 0x2a6116ad 0x2a5e7fbd 0x2a85bbb5 0x2a5e6a07 0x270aa237 0x270a964b 0x270a7cc9 0x26ff4b51 0x26ff4963 0x2e5331a9 0x2a646c91 0x4ca35 0x35272aaf)
libc++abi.dylib: terminating with uncaught exception of type NSException
通常这个屏幕没有错误,它发生在我为应用程序设置了一个报警状态之后。应用程序使用此方法关闭故事板中某些视图的键盘。
-(void)dismissKeyboard {
[message resignFirstResponder];
[contact1 resignFirstResponder];
[contact2 resignFirstResponder];
[contact3 resignFirstResponder];
}
答
从与杰克聊天,它出现崩溃的罪魁祸首的方法是因为:
-(void)dismissKeyboard
{
// ------------------------------------------------------
// These variables appear to be NSString, so it crashes
// ------------------------------------------------------
[message resignFirstResponder];
[contact1 resignFirstResponder];
[contact2 resignFirstResponder];
[contact3 resignFirstResponder];
}
因此,解决办法是简单地将其更改为:
-(void)dismissKeyboard
{
[self.view endEditing:YES];
}
+0
再次感谢张! – 2015-04-04 15:24:40
+0
非常欢迎你:) – Zhang 2015-04-04 15:25:02
的您显示的代码与您收到的崩溃无关。异常告诉你'resignFirstResponder'消息被发送到'NSCFString'的实例 - 我的猜测是你已经为你的背景图像分配了一个字符串,而不是字符串中的UIImage或类似的东西。你应该在你设置背景的地方显示代码 – Paulw11 2015-04-04 06:08:00
你已经走了'[self.myTextView resignFirstResponder];'还是你走了'[self.myTextView.text resignFirstResponder];'? Tab可能失败? :P – Zhang 2015-04-04 13:22:25
@张我没有放在那里辞职。也许我应该? – 2015-04-04 13:24:18