setter 应复制 NSStrings

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