Phi*_*hil 3 macros compiler-errors objective-c
我这样做
if ([resourceCompletionReward objectAtIndex:experienceD] != 0) {
Run Code Online (Sandbox Code Playgroud)
但是Xcode给了我一个错误:
期待的表达
我定义experienceD为
#define experienceD 0;
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
分号不应该在那里.
#define experienceD 0
Run Code Online (Sandbox Code Playgroud)
会编译得很好.
使用像这样的UPPER_CASE_NOTATION命名常量也是一个好习惯.
为了完整起见,我将补充说Apple建议(来自可可的编码指南)
通常,不要使用#define预处理程序命令来创建常量.对于整数常量,使用枚举,对于浮点常量,使用const限定符
并且
如果常量与其他常量无关,则可以使用const创建整数常量; 否则,使用枚举
因此,在您的特定情况下,最好将常量定义为
static const int ExperienceD = 0;
Run Code Online (Sandbox Code Playgroud)