常常发现定制的setter sintaxis这样的:覆盖Objective-c中的setter。为什么检查等于参数
- (void)setParentCatalog:(Catalog *)parentCatalog {
if (_parentCatalog != parentCatalog) { //???
_parentCatalog = parentCatalog;
[self refresh];
}
}
我为什么要检查?
if (_parentCatalog != parentCatalog)
+1喜欢你的'保留'的例子 – 2013-04-04 08:44:09
我知道你首先比较对象,但通常你应该保留,然后释放。如果对象相同(如果您先比较它们,则不是这种情况),您可能会丢失它并进入内存问题。对于现今ACR时代的这种旧货不好意思。 – user500 2013-08-01 07:54:29