Obj-C块是我最近第一次使用的东西。我试图了解以下块语法:
在头文件中:
@property (nonatomic, copy) void (^completionBlock)(id obj, NSError *err);
在主文件中:
-(void)something{
id rootObject = nil;
// do something so rootObject is hopefully not nil
if([self completionBlock])
[self completionBlock](rootObject, nil); // What is this syntax referred to as?
}
感谢您的协助!
最佳答案
它是一个块属性,您可以在运行时设置一个块。
这是要设置的语法
由于它是空类型,因此您可以在类中通过以下代码设置方法
self.completionBlock = ^(id aID, NSError *err){
//do something here using id aID and NSError err
};
使用以下代码,您可以调用先前的方法/块集。
if([self completionBlock])//only a check to see if you have set it or not
{
[self completionBlock](aID, nil);//calling
}