gpt4 book ai didi

objective-c - 返回没有 typedef 的 block 的 block

转载 作者:搜寻专家 更新时间:2023-10-30 19:55:14 25 4
gpt4 key购买 nike

如果不使用 typedef,我不知道如何做到这一点:


typedef void(^HLBlock)(void);

- (void)whatever
{
HLBlock (^genBlock)(int) = ^(int tryCount){
HLBlock b1 = [[^{
NSLog(@"tryCount=%i", tryCount);
} copy] autorelease];
return b1;
};

genBlock(10);
}

我需要将 HLBlock 声明为 void (^)(void) 的 typedef 似乎很愚蠢,但对于我来说,如果没有 typedef,我无法弄清楚如何做到这一点。 genBlock 的正确返回类型是什么?

谢谢!杰米

最佳答案

这是没有 typedef 的语法,但我认为它太难读了,强烈推荐使用 typedef:

void(^(^genBlock)(int))() = ^(int tryCount){
void (^b1)() = ^{
NSLog(@"tryCount=%i", tryCount);
};
return b1;
};

void(^aBlock)() = genBlock(10);
aBlock();

关于objective-c - 返回没有 typedef 的 block 的 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10922332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com