Why don't non-existent IBOutlets crash the application?-Collection of common programming errors

Depending on the version of the cocoa runtime you are using several things could happen:

IBOutlet will send a message, but since the reciever(NIL?) does not understand it an exception is thrown, but is caught the console likely prints a message to inform you of this.

IBOutlet first checks [object respondsTo:@SEL(selector)], if false it does nothing.

The XIB object does not invoke your message delegate message (getter) at all, because it is not intersted in it.