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
}

10-05 21:13