In my opinion the confusing part is not about SEGFAULT or NullPointerException. Let's make and example:
NSArray *obj = nil;
[obj count]; // return 0
In theory a nil object can hide in your code for a long time if you only use methods that can return 0.