开发者社区 问答 正文

在一个类中block问题

在类中定义一个property,作为block用
@property (nonatomic, strong) void (^ myBlock)();

然后想在property在代码中使用时为block创建了一个获取,如果property是NSArray,就可以这样设置:

@synthesize myProperty = _myProperty;

- (NSArray *)myProperty {

    if (_myProperty) {
        _myProperty = [[NSArray alloc] init];
    }

    return _myProperty;
}

但是property是block,应该怎么设置实例化?

展开
收起
爵霸 2016-05-27 10:52:30 1830 分享 版权
1 条回答
写回答
取消 提交回答
  • 在h文件

    typedef BOOL (^MyProcessorBlock)(id param1);
    
    @property (nonatomic, copy) MyProcessorBlock myBlockProperty

    在m文件
    `
    @synthesize myBlockProperty = _myBlockProperty;
    `

    其他情况在m文件中

    - (MyBlock)myBlockProperty {
        if(!_myBlockProperty) {
            _myBlockProperty = ^(self) { ..... };
        }
        return _myBlockProperty;
    }
    2019-07-17 19:17:19
    赞同 展开评论
问答地址: