可能重复:
向 nil 发送消息?
如果一个引用NSMutableArray
根本没有指向任何对象,因为没有实例化,为什么仍然可以调用实例方法而没有任何运行时错误?
NSMutableArray *foo = nil;
NSLog(@"[null count] is %i", [foo count]);
NSLog(@"[null count] again is %i", [(NSMutableArray *) nil count]);
上面的行都打印出来,0
而不是导致错误的内存访问或导致没有实例的错误。