I have following code
NSArray *myArray = [[NSArray alloc] initWithObjects:@"1",@"2",nil];
NSMutableDictionary *dic0 = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"parag", @"name", myArray, @"arraye",nil];
NSMutableDictionary *dic1 = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"parag1", @"name", myArray, @"arrayr",nil];
NSMutableDictionary *dic2 = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"parag2", @"name", myArray, @"arrayq",nil];
NSMutableDictionary *dic3 = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"parag2", @"name", myArray, @"arrayqe",nil];
NSArray *array12424 = [[NSArray alloc] initWithObjects:dic0, dic1, dic2, dic3];
NSLog(@"array12424 %d", [array12424 retainCount]);
NSLog(@"array12424 %@", array12424);
int j = [myArray retainCount];
for(int i=0;i<j; ++i)
{
[myArray release];
NSLog(@"%d", i);
NSLog(@"myArray %@", myArray);
}
NSLog(@"array12424 %@", array12424);
After releasing myArray,i expected crash; why arraye and other array key are pointing to array12424?
//output
2012-02-02 12:33:58.454 212121212[6924:a0f] array12424 1
2012-02-02 12:33:58.459 212121212[6924:a0f] array12424 (
{
arraye = (
1,
2
);
name = parag;
},
{
arrayr = (
1,
2
);
name = parag1;
},
{
arrayq = (
1,
2
);
name = parag2;
},
{
arrayqe = (
1,
2
);
name = parag2;
}
)
2012-02-02 12:33:58.459 212121212[6924:a0f] 0
2012-02-02 12:33:58.460 212121212[6924:a0f] myArray (
1,
2
)
2012-02-02 12:33:58.460 212121212[6924:a0f] 1
2012-02-02 12:33:58.460 212121212[6924:a0f] myArray (
1,
2
)
2012-02-02 12:33:58.461 212121212[6924:a0f] 2
2012-02-02 12:33:58.462 212121212[6924:a0f] myArray (
1,
2
)
2012-02-02 12:33:58.463 212121212[6924:a0f] 3
2012-02-02 12:33:58.463 212121212[6924:a0f] myArray (
1,
2
)
2012-02-02 12:33:58.464 212121212[6924:a0f] 4
2012-02-02 12:33:58.466 212121212[6924:a0f] myArray myArray
2012-02-02 12:33:58.466 212121212[6924:a0f] array12424 (
{
arraye = "array12424 ";
name = parag;
},
{
arrayr = "array12424 ";
name = parag1;
},
{
arrayq = "array12424 ";
name = parag2;
},
{
arrayqe = "array12424 ";
name = parag2;
}
)
I am using MAC osx 10.6 base SDK.