我有一个NSString,它是通过JSON返回的一些数据填充的。
代码在正常情况下运行良好,但有时我会被JSON返回。
当我检查我的NSString == nil或== null时,它是否通过测试。
但NSString包含崩溃我的应用程序的事实。
在Objective C中有一些特殊含义吗?或者我应该只是做一个字符串比较,看看字符串是否等于而不是nil并以这种方式处理它。
这让我有点困惑。
非常感谢, 代码
答案 0 :(得分:7)
<null>
是NSNull
为其-description
方法返回的内容。您还需要检查
myString == [NSNull null]
在这种情况下。
其他信息:IIRC常见的Objective-C JSON内容将使用[NSNull null]
用于JSON结构中的null
,以区分值与不存在的值。
答案 1 :(得分:2)
NSString *
只是指向NSString
对象的指针
测试空指针:
NSString *str;
if (str) {
// str points to an object
if ([str length] == 0) {
// string is empty
}
} else
// str points to nothing
}
如果要检查空格,可以使用stringByTrimmingCharactersInSet
修剪NSString。
答案 2 :(得分:1)
您可以查看它是否为空。
if ([str isKindOfClass:[NSNull class]]) {
// str is null.
}
答案 3 :(得分:0)
我是这样做的:
if([string isKindOfClass:[NSNull class]]) {
NSLog(@"This is JSON null");
} else {
NSLog(@"This is a string, do what you wanna do with it");
}