数组存储指向对象的地址,当被存储的指针变量指向的地址改变时,数组中存储的地址并不改变。
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSArray *array = [NSArray array];
NSString *a = @"is a";
array = @[a];
NSLog(@"改变前a的地址%p", a);
NSLog(@"改变前数组中a的地址%p", array.firstObject);
a = @"is change";
NSLog(@"改变后a的地址%p", a);
NSLog(@"改变后数组中a的地址:%p", array.firstObject);
}
return 0;
}