【发布时间】:2016-10-19 11:58:24
【问题描述】:
我只是试图覆盖一个属性的标准合成设置器。到目前为止一切都很好,我只是将 ivar 设置为我的新值。但是后来我问自己'保留属性的保留计数会发生什么'......我没有找到可以向我解释这一点的好答案。所以我在这里问。如果我覆盖设置为retain 的属性设置器,我需要注意什么,我该如何正确地做到这一点?我不使用 ARC。
这是一个例子:
@property(nonatomic)NSInteger number;
- (void)setNumber:(NSInteger)number {
_number = number; // This should be fine, since it's no retained object I want to set
}
@property(nonatomic, retain)NSObject *something;
- (void)setSomething:(NSObject *)something {
_something = something; // This is not fine. As far as I know you should never do sth. like this... But how do I set it correctly?
}
【问题讨论】:
-
从
retain的用法我猜你没有使用ARC? -
您只需要自己设置保留计数 - 仅此而已
标签: iphone objective-c ios