从C函数返回Objective-C块

时间:2011-11-28 13:49:30

标签: objective-c block

声明返回Objective-C块的C函数的语法是什么?有可能吗?

我认为它应该像

(void (^)(void)) myFunctionReturningABlock();

但不会编译。

1 个答案:

答案 0 :(得分:15)

您的函数的语法略有不正确。

据我所知,您应该将块定义为一种类型,您可以将其用作函数的返回类型,如下所示:

typedef void(^MyAwesomeBlock)(void);

MyAwesomeBlock blockFunction()
{
    MyAwesomeBlock block = ^{
        //some code;
    };

    return block;
}