如果应用遇到空值,我该怎么做才能避免应用崩溃?
我得到的错误信息是:
-[NSNull isEqualToString:]: unrecognized selector sent to instance.
我尝试使用此条件语句来检查空值,但它仍然崩溃。 listingWebAddress是NSString
。
if (listingWebAddress == nil)
{
[webLabel setText:@""];
} else {
[webLabel setText:listingWebAddress];
}
当" listingWebAddress"存在。
感谢您的帮助:)
更新
感谢The Tiger的回复代码现在有效。解决方案是: if (![listingWebAddress isKindOfClass:[NSNull class]])
{
// do your task here
[webLabel setText:listingWebAddress];
} else {
[webLabel setText:@"no web url"];
}
答案 0 :(得分:1)
1。如果是NSString
,您可以检查长度,如果是NSArray
,请检查计数< / strong>即可。
2。如果条件不是 nil ,只有条件,条件才会返回YES
。
示例:
if (object)
{
//do your task here
}
3。在 Objective-C 中,您可以按类查看。
if (![object isKindOfClass:[NSNull class]])
{
// do your task here
}
NSNull类定义一个单例对象,用于表示集合对象中的空值(不允许使用nil值)。
答案 1 :(得分:0)
看起来listingWebAddress已经是NSNull,它不支持mutableCopy方法。我会改变条件:
if ( [listingWebAddress isKindOfClass: [NSNull class]] == NO){
... rest of logic
}
答案 2 :(得分:0)
试试这个
if(listingWebAddress !=[NSNull null]
{
//your code
}