gpt4 book ai didi

iphone - 如何在 Objective-C 中使用 C 预处理器递增一个值?

转载 作者:太空宇宙 更新时间:2023-11-03 23:36:17 24 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Can you make an incrementing compiler constant?

示例:我尝试这样做:

static NSInteger stepNum = 1;
#define METHODNAME(i) -(void)step##i
#define STEP METHODNAME(stepNum++)

@implementation Test

STEP {
// do stuff...

[self nextFrame:@selector(step2) afterDelay:1];
}

STEP {
// do stuff...

[self nextFrame:@selector(step3) afterDelay:1];
}

STEP {
// do stuff...

[self nextFrame:@selector(step4) afterDelay:1];
}

// ...

构建时,Xcode 提示它无法增加 stepNum。这对我来说似乎是合乎逻辑的,因为此时代码不是“活着的”并且这种预处理替换的东西发生在实际编译源代码之前。有没有另一种方法可以让变量在每次使用 STEP 宏时递增,这是一种简单的方法吗?

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