我正在将成为一个块的类上创建一个属性。

它被定义为

@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;
}

10-08 05:57