在類中定義一個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,應該怎麼設置實例化?
在h文件
typedef BOOL (^MyProcessorBlock)(id param1);
@property (nonatomic, copy) MyProcessorBlock myBlockProperty
在m文件
@synthesize myBlockProperty = _myBlockProperty;
其他情況在m文件中
- (MyBlock)myBlockProperty {
if(!_myBlockProperty) {
_myBlockProperty = ^(self) { ..... };
}
return _myBlockProperty;
}