Hacker News new | ask | show | jobs
by mikeash 4576 days ago
All of Objective-C is C based in the end. Blocks are completely Objective-C objects. Attempting to call a NULL block crashes not because blocks aren't Objective-C objects, but because block invocation is not a message send.

Note that accessing an instance variable of a nil Objective-C object pointer will also crash, e.g.:

    obj->_ivar;
That's obviously not because Objective-C objects aren't Objective-C objects. The crash when calling a nil block is the same thing.