我在接口上声明了这个

void (^ soc)(NSString *type, BOOL configured);




@property (nonatomic, assign) BOOL serviceOK;


然后在.m的方法中,我有这个:

soc = ^(NSString *type, BOOL configured){
    // ...
};

// other blocks defined here


然后这个:

NSMutableArray *arrayBlocks = [[NSMutableArray alloc] initWithObjects:
                               [block1 copy],
                               [soc(typeOne, self.serviceOK) copy],
                               [block3 copy],
                               [block4 copy],
                               nil];


我在soc行有一个错误,消息错误的接收者类型为void(什么?)

如果我只是运行此命令:

soc(typeOne, self.serviceOK);


它工作正常,但是如果我将其包含在数组中,则会抱怨。任何帮助表示赞赏。

最佳答案

如果要添加块的副本,请添加:

[soc copy],


到数组。您要做的是添加调用该块的结果的副本。

10-08 05:32