Ios 将nsstring转换为宏(#定义)

Ios 将nsstring转换为宏(#定义),ios,objective-c,json,nsstring,Ios,Objective C,Json,Nsstring,我从服务器接收到以下JSON: { ..... "id":"predifined_id", ... } 在代码中,我对预定义的_id有一个int定义: #define predifined_id 5 这意味着如果我在代码中使用预定义的_id,它将被转换为int=5 在解析JSON时,如何获取该值(5) 我已将JSON转换为NSDictionary,但我收到的@“id”键的值是NSString,在我的代码中,我使用以下内容: NSInteger integerValue

我从服务器接收到以下JSON:

{
   .....
   "id":"predifined_id",
   ...
}
在代码中,我对预定义的_id有一个int定义:

#define predifined_id   5
这意味着如果我在代码中使用预定义的_id,它将被转换为int=5

在解析JSON时,如何获取该值(5)

我已将JSON转换为
NSDictionary
,但我收到的@“id”键的值是
NSString

,在我的代码中,我使用以下内容:

NSInteger integerValue = [dict[@"id"] integerValue];

您可以简单地将其定义为字符串

#define predifined_id  @"5"
或者以后再转换:

[NSString stringWithFormat:@"%d",predefined_id]

为什么不定义预定义的_id@“5”?这些宏只在编译时使用,不能在运行时处理–它们只是在运行时不存在而已。@holex感谢您的帮助explanation@l0gg3r,完全不同question@Paulw11,解析JSON时,预定义的_id仍不会被识别为宏。它只是一个字符串