今天无意中发现,自己代码中一些地方的set方法写的竟然有问题,做个记录,以示警惕吧,以后要细心;
下面举例说明:
修改前:
- (void)setTestStr:(NSString *)testStr{
[_testStr release];
_testStr = [testStr retain];
}
修改后:
- (void)setTestStr:(NSString *)testStr{
[testStr retain];
[_testStr release];
_testStr = testStr;
}
前者,当testStr和self.testStr指向同一个对象时,程序就会出现问题。