我需要一些关于块的帮助
我想做这样的事情:
- (void)function {
self.block = ^(NSArray * array){
NSLog(@"BLOCK %@", array);
};
}
- (void)anotherFunction {
block(array)
}
有可能吗?!)
答案 0 :(得分:2)
是的,没关系...您可以执行以下操作
@property (nonatomic, copy) void (^block)(NSArray *array);
...
- (void)function {
self.block = ^(NSArray * array){
NSLog(@"BLOCK %@", array);
};
}
- (void)anotherFunction {
if (self.block)
self.block(array);
}
答案 1 :(得分:1)
是的,有可能
<强>第一: - 强>
在你的.h文件中键入def,你打算使用它的块类型有帮助。
typedef void (^blockForYou)(NSArray*);//typedef helps in recognizing and better understanding blocks and easy to use as well
现在创建一个块类型的属性使其复制。
@property(nonatomic,copy)blockForYou yourBlock;
现在将.m文件复制块存入您的财产。
self.yourBlock=^(NSArray* arrayData){
//get your array here
};
现在从其他函数调用你的块只是..
self.yourBlock(<pass your array here>);
希望它有所帮助。