Ios 将nsstring转换为宏(#定义)
我从服务器接收到以下JSON: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
{
.....
"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仍不会被识别为宏。它只是一个字符串