如果我写 -
为什么第二种情况不会导致错误访问,因为它已经被释放了?
NSObject *a = [[NSObject alloc] init]; // or UIView or something
[a release];
NSLog(@"a = %@", a); // causes EXC_BAD_ACCESS, fine
但是,如果我写下这样的代码 -
NSArray *a = [[NSArray alloc] init]; // or NSString or NSDictionary
[a release];
NSLog(@"a = %@", a); // no crash, prints empty array or string
为什么第二种情况不会导致错误访问,因为它已经被释放了?