为什么循环中的第二行(a.retainCount 行)不会崩溃(由于访问不正确)?
NSArray* a0 = @[[NSMutableString stringWithString:@"a"]];
NSArray * arr = [NSArray arrayWithObject:a0];
[a0 release];[a0 release];
for (NSArray* a in arr)
{
//NSLog(@"%d", (a == a0) );
NSLog(@"RC: %d", a.retainCount);
}
但如果循环中的第一行(a == a0 one)未注释,它会崩溃。
当自动释放池耗尽时,这肯定会崩溃,但我特别询问循环中的第二行,而不是之后。
谁能解释一下?