将 nsstring 转换为宏(#define)[重复]
Posted
技术标签:
【中文标题】将 nsstring 转换为宏(#define)[重复]【英文标题】:Converting nsstring to macro (#define) [duplicate] 【发布时间】:2014-11-04 12:02:02 【问题描述】:我从服务器收到以下 JSON:
.....
"id":"predifined_id",
...
在代码中,我有一个 predifined_id 的 int 定义:
#define predifined_id 5
这意味着如果我在代码中使用 predifined_id 它将被转换为 int = 5。
在解析 JSON 时如何获取此值 (5)?
我已将 JSON 转换为 NSDictionary
,但我收到的 @"id" 键值是 NSString
【问题讨论】:
你为什么不直接#define predefined_id @"5"
?
只用于编译器时的宏,你不能在运行时处理它们——它们只是在运行时不存在。
@holex 感谢您的解释
@l0gg3r,完全不同的问题
@Paulw11,解析 JSON 时,predefined_id 仍然不会被识别为宏。它只是一个 NSString
【参考方案1】:
在我的代码中我使用这个:
NSInteger integerValue = [dict[@"id"] integerValue];
【讨论】:
【参考方案2】:你可以简单地将它定义为字符串
#define predifined_id @"5"
或稍后转换:
[NSString stringWithFormat:@"%d",predefined_id]
【讨论】:
以上是关于将 nsstring 转换为宏(#define)[重复]的主要内容,如果未能解决你的问题,请参考以下文章
将 NSData 转换为 NSString 后如何将 NSString 转换回 NSData?
将 NSString 转换为具有日期格式的 NSString 块