2 xinyoulingxi1 tong xinyoulingxi1_tong 于 2012.11.30 14:30 提问

在一个类中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,应该怎么设置实例化?

2个回答

g989_1314125
g989_1314125   2012.11.30 15:06
已采纳

在h文件

typedef BOOL (^MyProcessorBlock)(id param1);

@property (nonatomic, copy) MyProcessorBlock myBlockProperty

在m文件

@synthesize myBlockProperty = _myBlockProperty;

其他情况在m文件中

- (MyBlock)myBlockProperty {
    if(!_myBlockProperty) {
        _myBlockProperty = ^(self) { ..... };
    }
    return _myBlockProperty;
}
Mr_me
Mr_me   2012.11.30 15:11
@property (nonatomic, copy) void (^ myBlock)();

- (void (^)())myBlock {
    if (!_myBlock) {
        self.myBlock = ^ () {
            NSLog(@"Do something");
        };
    }
    return _myBlock;
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!