开发者社区 问答 正文

关于枚举block中的数组

self.myArray = @[ [^{ NSLog(@"a"); } copy],
                  [^{ NSLog(@"b"); } copy]];

然后

[self.myArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
    // This syntax is wrong, but I hope you get my intention
    void (^) (void) block = obj;  
    block();
}];

假如可以不用typedef,在枚举的时候怎么剔除block?

展开
收起
爵霸 2016-03-23 11:02:03 1910 分享 版权
1 条回答
写回答
取消 提交回答
  • 应该改成
    `
    void (^block )(void) = obj;
    `

    关于block定义可以看这个例子

    void (^blockReturningVoidWithVoidArgument)(void);
    int (^blockReturningIntWithIntAndCharArguments)(int, char);
    void (^arrayOfTenBlocksReturningVoidWithIntArgument[10])(int);
    2019-07-17 19:10:32
    赞同 展开评论
问答地址: