Objective-C 中的对象可变性、Core Foundation 及相关类型解析
1. 对象变量的 const 声明
通常,只有当对象变量引用不可变对象时,将其声明为 const 才有用。const 关键字并非直接属于 Objective-C,而是从 C 语言继承而来。需要注意的是,对象变量声明的类型并不能决定它实际引用的对象类型。例如:
NSMutableString* name = @"Jane";
此代码创建的是一个普通的 NSString,而非 NSMutableString。幸运的是,当构建项目时,Xcode 通常会对此类情况发出警告。若要从字面字符串创建可变字符串,必须使用 +[NSMutableString stringWithString:] 类方法或 - [NSMutableString initWithString:] 方法,示例如下:
NSMutableString* name1 = [NSMutableString stringWithString:@"Jane"];
NSMutableString* name2 = [[NSMutableString alloc] initWithString:@"Jane"];
[name2 release];
所有关于可变性的通用规则(即那些不直接涉及文本的规则,如 -mutableCopy )适用于所有可
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



