完成教程后:Start Developing iOS Apps Today
我在这里遇到了同样的异常:IOS Tutorial Exception (ToDo Sample) 应用程序崩溃了,但如果我启动调试 session 并单步执行代码,它就不会崩溃。
2015-05-04 16:09:51.569 ToDoList[9223:67681] -[AddToDoItemViewController textField:]: unrecognized selector sent to instance 0x7fe570d4eff0
2015-05-04 16:09:51.574 ToDoList[9223:67681] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[AddToDoItemViewController textField:]: unrecognized selector sent to instance 0x7fe570d4eff0'
然后我通过阅读这篇文章解开了这个谜团:IOS Tutorial Exception (ToDo Sample)
原因是我错误地将文本字段连接到@implemenation 部分而不是@interface 部分,它创建了一些我删除的方法。当然,在那之后我很快就忘记了。
我怎么能在不知道以上任何内容的情况下弄清楚自己是什么原因导致该异常以及它从何而来?
最佳答案
日志消息告诉您有东西试图调用 AddToDoItemViewController
的 -textField:
方法。
因此,第一步是检查该方法是否已实现 - 在您的情况下未实现。您可能对
的存在感到困惑@property(weak, nonatomic) IBOutlet UITextField* textField
但是属性的自动合成生成带有签名-textField
的getter,它不同于-textField:
(后者带一个参数,而前者没有)。
关于ios - 找出 Objective-C 中异常的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30030171/