块中的Objective C泛型

mll*_*llm 6 generics objective-c objective-c-blocks

尽管它的名字,这个问题似乎没有解决它.

是否可以将Objective-C泛型与块一起使用?

就像是:

typedef void (^MyResultBlock<__covariant ObjectType>)(NSArray<ObjectType> *items);
Run Code Online (Sandbox Code Playgroud)

......然后声明一个块:

MyResultBlock<NSNumber> blockName = ^void(NSArray<NSNumber> *items) {...};
Run Code Online (Sandbox Code Playgroud)

new*_*cct 8

No. Objective-C泛型仅适用于类,而不适用于类typedef.