Ios “什么意思?”&书信电报;空>&引用;
在我的应用程序中,我获取一些在线数据,并需要对其进行解析。 有时,变量视图中会显示一个值作为Ios “什么意思?”&书信电报;空>&引用;,ios,xcode,variables,null,Ios,Xcode,Variables,Null,在我的应用程序中,我获取一些在线数据,并需要对其进行解析。 有时,变量视图中会显示一个值作为 (_NSCFSTring *) @"<null>" 在这种情况下采取行动。这感觉很糟糕,但它奏效了。 现在,我正在iOS7中的一台旧设备上进行测试,这就不那么宽容了:它在那条线上崩溃了 所以,我试过了 [myString isKindOfClass:[NSNull class]]; 但这似乎并不适用 所以,基本上,我在这里缺乏知识,我希望你们中的一位能够解释这一切 谢谢 @“是将[NSN
(_NSCFSTring *) @"<null>"
在这种情况下采取行动。这感觉很糟糕,但它奏效了。
现在,我正在iOS7中的一台旧设备上进行测试,这就不那么宽容了:它在那条线上崩溃了
所以,我试过了
[myString isKindOfClass:[NSNull class]];
但这似乎并不适用
所以,基本上,我在这里缺乏知识,我希望你们中的一位能够解释这一切
谢谢 @“
是将[NSNull null]
转换为NSString
的结果,例如使用:
id value = [NSNull null];
NSString *stringValue = [value description];
请注意,stringValue
是一个字符串,因此条件[myString isKindOfClass:[NSNull class]]
将为false
在将值转换为NSString
之前,必须先检查NSNull
典型的解决方案之一是将NSNull
转换为nil
,例如,在NSDictionary
上声明一个类别方法:
- (id)betterObjectForKey:(NSString *)key {
id value = [self objectForKey:key];
if (value == [NSNull null]) {
return nil;
}
return value;
}
然后使用
betterObjectForKey:
而不是objectForKey:
。就我个人而言,在解析服务器数据时,我使用变量来检查值的类型(例如NSNumber
或NSString
)。好的,谢谢。这回答了我的问题(实际上,这是json数据)。在这个阶段,如果我决定不首先检查json空值,将使用什么样的防水条件?
- (id)betterObjectForKey:(NSString *)key {
id value = [self objectForKey:key];
if (value == [NSNull null]) {
return nil;
}
return value;
}