"let’s note that every Obj-C method is actually a C function with two additional parameters. The first one is self which is a pointer to the object being receiver of the method call. The second one is _cmd which represents the current selector."
Even as a fairly experienced Obj-c developer I did not realise this, (though had often wondered where _cmd came from in a method's scope - I assumed magic). This was a good read, and something a bit different, too (though I didn't understand much when it dipped down into assembly).
Bartosz Ciechanowski: Exposing NSMutableArray