很抱歉,如果之前已经回答过这个问题,但搜索一段时间后我没有找到任何内容。 我习惯于调用不存在的objcets方法会导致崩溃。 但是,当我声明一些IBOutlet与xib上的真实对象没有连接时,我可以发送消息而不会发生崩溃。 究竟发生了什么?
答案 0 :(得分:0)
根据您使用的cocoa运行时版本,可能会发生以下几种情况:
IBOutlet会发送一条消息,但由于收件人(NIL?)不理解它会引发异常,但是被捕获时控制台可能会打印一条消息通知您。
IBOutlet首先检查[object respondsTo:@SEL(selector)]
,否则它什么也不做。
XIB对象根本不会调用您的消息委托消息(getter),因为它不存在于其中。