深入探究Objective - C中的数据类型与内存管理
1. 可变性与不可变性
1.1 可变性概述
大多数基础的Foundation值类有可变(mutable)和不可变(immutable)两种形式。“可变”意味着对象的值可以改变,例如 NSMutableString ,而 NSString 一旦创建其内容就不能更改。
创建可变字符串示例:
NSMutableString* name = [NSMutableString stringWithString:@"Helen"];
[name setString:@"Sarah"];
[name setString:@"Daisy"];
如果有一个不可变对象,可使用 -mutableCopy 方法得到其可变版本:
NSString* originalString = @"Friday";
NSMutableString* editableString = [originalString mutableCopy];
[editableString setString:@"Saturday"];
[editableString release];
需要注意的是,对可变对象调用 -copy 会返回一个不可变版本。若要复制可变对象并保持新对象的可变性,必须调用 -
超级会员免费看
订阅专栏 解锁全文
1881

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



