我正在将成为一个块的类上创建一个属性。
它被定义为
@property (nonatomic, strong) void (^ myBlock)();
我想懒惰地创建该属性,所以我想为该代码创建一个getter,以便在某些代码使用该属性时运行该块。
例如,如果该属性不是一个块,而是一个NSArray,则将执行以下设置程序:
@synthesize myProperty = _myProperty;
- (NSArray *)myProperty {
if (_myProperty) {
_myProperty = [[NSArray alloc] init];
}
return _myProperty;
}
如何为块属性进行吸气剂(惰性实例化)?
注意:此块位于单例内部。
谢谢
最佳答案
@property (nonatomic, copy) void (^ myBlock)();
- (void (^)())myBlock {
if (!_myBlock) {
self.myBlock = ^ () {
NSLog(@"Do something");
};
}
return _myBlock;
}