A minor nitpick: Those if's are not needed, it is explicitly allowed to send messages to a null object (nothing happens in that case). Indeed, there are some style guides that actively discourage using if's like that. Of course that's overdoing it, but it seems that a lot of ObjC code indeed avoids them. Anyway, this is a matter of taste (as I said, this is just a minor nitpick ;-).