所以我有以下代码在 XCode 中导致运行时错误
NSString* temp = [[param objectforkey@"firstParam"] stringValue];
int tempNum = [[param objectforkey@"secondParam"] intValue];
参数从 plist 加载。firstParam 为字符串,secondParam 为数字
第一行使程序崩溃。
现在有趣的是,如果我做一个硬种姓,它就会起作用,即:
NSString* temp = (NSString*)[param objectforkey@"firstParam"];
int tempNum = [[param objectforkey@"secondParam"] intValue];
只是想知道为什么 id 会有不一致的实现,因为我必须使用 intValue 转换为 int,但必须进行硬转换才能获得 NSString?为什么不是字符串值?