为什么不存在不存在的IBOutlets会使应用程序崩溃?

时间:2012-01-06 05:32:24

标签: crash iboutlet

很抱歉,如果之前已经回答过这个问题,但搜索一段时间后我没有找到任何内容。 我习惯于调用不存在的objcets方法会导致崩溃。 但是,当我声明一些IBOutlet与xib上的真实对象没有连接时,我可以发送消息而不会发生崩溃。 究竟发生了什么?

1 个答案:

答案 0 :(得分:0)

根据您使用的cocoa运行时版本,可能会发生以下几种情况:

IBOutlet会发送一条消息,但由于收件人(NIL?)不理解它会引发异常,但是被捕获时控制台可能会打印一条消息通知您。

IBOutlet首先检查[object respondsTo:@SEL(selector)],否则它什么也不做。

XIB对象根本不会调用您的消息委托消息(getter),因为它不存在于其中。