我有一个只包含UITextView的应用程序。应用程序加载后,会出现键盘,并在键盘顶部加载AccessoryView以便将其关闭。
这很有效,直到我决定在应用加载时我不想加载键盘。问题是每当我尝试编辑文本时,应用程序崩溃(EXC_BAD_ACCESS)。我真的不明白为什么会这样。这是我的代码 - 通道被标记为崩溃应用程序:
- (void)viewWillAppear:(BOOL)animated {
// Make the keyboard appear when the application launches.
[super viewWillAppear:animated];
// [textView becomeFirstResponder];}
然后:
- (BOOL)textViewShouldBeginEditing:(UITextView *)aTextView {
// this crashes app if no keyboard is loaded in viewdidload:
if (textView.inputAccessoryView == nil) {
textView.inputAccessoryView = accessoryView;
self.accessoryView = nil;
}
return YES;
}
如果我注释掉最后一个if语句,该应用程序可以运行......但我没有我的accessoryView。可能我在InterfaceBuilder中做错了吗? accessoryView是我的ViewController中的一个单独视图。虽然它已正确连接(如果我从带键盘的应用程序开始,它确实可以正常工作)。
非常感谢任何想法。对不起,如果这是显而易见的,但我仍然是初学者,这些事情会引起巨大的麻烦。
答案 0 :(得分:1)
如果这不起作用,您可以考虑使用NSZombieEnabled来跟踪将消息发送到解除分配对象的位置。
我找到了一些你可以看一下的指南:
http://www.fromconcentratesoftware.com/2007/08/09/nszombieenabled-for-the-debugger-adverse/
http://collateraldamag3.blogspot.com/2009/11/iphone-tutorial-nszombieenabled-and.html