假设[NSArray arrayWithObjects:[NSMutableString stringWithString:@"MutableString"],@"string", nil]为对象A
MyViewController *myVC=[[MyViewController alloc]init];
//@autoreleasepool//{
myVC.myArray=[NSArray arrayWithObjects:[NSMutableString stringWithString:@"MutableString"],@"string", nil];
// A retaincount +1 变为 2
//_array=myVC.myArray;
self.array=myVC.myArray; // A retaincount +1 变为 2
NSLog(@"retain count -> %d", [myVC.myArray retainCount]);
2013-02-15 10:36:43.749 MyTest[2039:c07] retain count -> 3
MyViewController *myVC=[[MyViewController alloc]init];
@autoreleasepool{
myVC.myArray=[NSArray arrayWithObjects:[NSMutableString stringWithString:@"MutableString"],@"string", nil];
// A retaincount +1 变为 2
}// A retaincount -1 变为 1
//_array=myVC.myArray;
self.array=myVC.myArray;// A retaincount +1 变为 2
NSLog(@"retain count -> %d", [myVC.myArray retainCount]);
2013-02-15 10:36:43.749 MyTest[2039:c07] retain count -> 2MyViewController *myVC=[[MyViewController alloc]init];
@autoreleasepool{
myVC.myArray=[NSArray arrayWithObjects:[NSMutableString stringWithString:@"MutableString"],@"string", nil];
// A retaincount +1 变为 2
}// A retaincount -1 变为 1
_array=myVC.myArray; // A retaincount 为 1
//self.array=myVC.myArray;
NSLog(@"retain count -> %d", [myVC.myArray retainCount]);
2013-02-15 10:36:43.749 MyTest[2039:c07] retain count -> 1