setter 应复制 NSStrings
Tip
接受 NSString
作为参数的 setter
,应该总是 copy
传入的字符串。
永远不要仅仅 retain
一个字符串。因为调用者很可能在你不知情的情况下修改了字符串。不要假定别人不会修改,你接受的对象是一个 NSString
对象而不是 NSMutableString
对象。
- - (void)setFoo:(NSString *)aFoo {
- [foo_ autorelease];
- foo_ = [aFoo copy];
- }