NSString包含:<null>并且正在崩溃我的应用程序</null>

时间:2011-05-02 16:32:42

标签: iphone objective-c

我有一个NSString,它是通过JSON返回的一些数据填充的。

代码在正常情况下运行良好,但有时我会被JSON返回。

当我检查我的NSString == nil或== null时,它是否通过测试。

但NSString包含崩溃我的应用程序的事实。

在Objective C中有一些特殊含义吗?或者我应该只是做一个字符串比较,看看字符串是否等于而不是nil并以这种方式处理它。

这让我有点困惑。

非常感谢, 代码

4 个答案:

答案 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");
}