【发布时间】:2012-03-04 15:17:47
【问题描述】:
我一直在用 Objective-C 进行一些试验,并注意到一些,至少对我而言,相当奇怪的行为。首先我定义一个指向 NSString 的指针并将它添加到 NSArray:
NSString *s = @"A";
NSArray *a = [NSArray arrayWithOject: s];
然后我打印出 s 的值以及 a 的内容:
NSLog(@"%@", s);
NSLog(@"%@", myArray);
在这两种情况下,输出都是 A。现在,如果我改变指针 s,比如说
s = @"B";
然后两个 NSLog 语句分别打印出 B 和 A。
也就是说,我的数组中的指针仍然指向@"A"。在用 Java 编码多年后,这让我感到非常惊讶。我在这里错过了一些真正重要的东西吗?
谢谢, 迈克尔·克努森
【问题讨论】:
标签: objective-c pointers nsstring