有几次我已经想建造一处房产,nonatomic
同时readonly
也是。
这样做的好处是我可以覆盖 getter 并检查是否已经创建了实例。如果没有,我可以简单地创建它。
同时我可以保护它不被覆盖。
。H
@property (strong, readonly, nonatomic) Foo *bar;
.m
- (Foo *)bar {
if (!_bar) {
_bar = [[Foo alloc] init];
}
return _bar;
}
每当我这样做时,编译器都不会为我创建实例变量,因此_bar
不存在。
为什么?如何创建readonly
nonatomic
属性?