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.