我从服务器获取数据,但是,NSString
在NULL
某些情况下,我不知道为什么NSString
是 NULL,如何NSString
用 NULL 制作?
问问题
194 次
2 回答
2
好吧,字符串不是NULL
.
首先,在 Objective C 中,你应该使用nil
而不是NULL
.
另一件事是,您不能nil
在 iOS 容器中拥有(NSArray
、NSDictionary
等)。但是,有些 API 需要为键设置一个空值。
为了解决这个问题,Apple 引入了NSNull
类(和单例)。
因此,要检查数据是否为空,您必须将值与NSNull
单例进行比较,如下所示:
id data = yourDictionary[@"yourKey"];
if (data == [NSNull null]) {
// Data is invalid, and calling any message on it will result in a crash
} else {
// Place your data in the any kind of container. You can even use isKindOfClass to be sure.
NSString * string = data;
}
于 2013-08-20T08:41:22.913 回答
0
试试下面的宏
#define IsNULL(original) original == (id)[NSNull null]
#define IfNULL(original, replacement) IsNULL(original) ? replacement : original
#define SafeString(value) IfNULL(value, @"")
然后使用
NSLog("%@",SafeString(YOURSTRING));
于 2013-08-20T08:08:55.660 回答