经常找到像这样的自定义 setter sintaxis:
- (void)setParentCatalog:(Catalog *)parentCatalog {
if (_parentCatalog != parentCatalog) { //???
_parentCatalog = parentCatalog;
[self refresh];
}
}
为什么要检查?
if (_parentCatalog != parentCatalog)
最佳答案
这会检查 _parentCatalog
和 parentCatalog
是否指向相同的内存位置。
如果两者是同一个对象则不需要设置objectValue。
关于objective-c - 覆盖 Objective-c 中的 setter。为什么检查相等参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15806070/