Objective c 这个宏有什么问题?

Objective c 这个宏有什么问题?,objective-c,xcode,macros,Objective C,Xcode,Macros,因此,与其打字 #define mySynthesize(op) @synthesize op = _op; 我能做到 @synthesize someVar=_someVar; @synthesize otherVar=_otherVar; 不过,这不管用。我做错了什么?在op前面加下划线时,预处理器将其视为不同的标记,因此不会替换它。您需要使用将下划线连接到前面,以便首先进行替换 mySynthesize (someVar); 你不是在这里问了同样的宏观问题吗?@bigkm:严格化是完

因此,与其打字

#define mySynthesize(op) @synthesize op = _op;
我能做到

@synthesize someVar=_someVar;
@synthesize otherVar=_otherVar;
不过,这不管用。我做错了什么?

在op前面加下划线时,预处理器将其视为不同的标记,因此不会替换它。您需要使用将下划线连接到前面,以便首先进行替换

mySynthesize (someVar);

你不是在这里问了同样的宏观问题吗?@bigkm:严格化是完全不同的东西。我想你在找这个
#define mySynthesize(op) @synthesize op = _ ## op