- /*
- 看Objective-C里面有
-
- NSArray 是不可变数组,数组中包含的对象是可以改变的,但是数组对象本身是不会改变的
-
- 是说 NSArray 是不可变数组,但是元素是可以改变的,就是对象的指向改变?
- */
- #import <Foundation/Foundation.h>
- int main(int argc, const char * argv[]) {
- @autoreleasepool {
- NSString *string = @"opp : ack : bork : greeble : ponies";
-
- NSArray *array = [string componentsSeparatedByString:@":"];
-
- NSLog(@"%@", array[2]); // 这里可以打印里面的字符串
-
- //array[2] = @"cc"; // 提示错误 Expected method to write array element not found on object of type 'NSArray *'
-
- // 赋值不成。可是 NSArray 数组集合中存储的只能是 OC 对象,所以我想看看该元素对象是什么类型
- Class c = [array[2] class];
-
- NSLog(@"%@ , %@", c, [string class]); // 这里打印的两个类型不同 __NSCFString , __NSCFConstantString
-
- string = [array componentsJoinedByString:@"--"]; // array[2]不能修改就算了,可是这个NSString对象怎么可以修改了
-
- NSLog(@"%@", string);
- }
- return 0;
- }
- // 所以到了最后我也没有弄到书里提到的内容的意思。求解答
复制代码
|
|