返回指向块的指针

the*_*end 1 objective-c objective-c-blocks

我在类中有一个静态块变量.如何声明属性或实例选择器以将该块返回或发送给调用者?

这是我的静态块:

static NSResultComparison(^myBlock)(id obj1, id obj2);
Run Code Online (Sandbox Code Playgroud)

Joe*_*Joe 5

typedef你的街区最好.

//interface.h
typedef NSResultComparison (^ComparisonBlock)(id obj1, id obj2);

@interface ...
...

-(ComparisonBlock) getComparisonBlock;

@end
Run Code Online (Sandbox Code Playgroud)
//implementation.m
//Here is your static block implementation
static ComparisonBlock myStaticBlock = ^(id obj1, id obj2)
{
    ...
    return result;
};

@implementation ...

-(ComparisonBlock)getComparisonBlock
{
    return myStaticBlock;
}

@end
Run Code Online (Sandbox Code Playgroud)