2014-02-14 37 views
0

我有一个字符串变量显示为空的概率。应用程序与空变量崩溃

NSLog(@"rate : %@",_rate);  //-->  rate : <null> 

应用崩溃时,我尝试:

if ([_rate length]== 0) //app crash 

与消息: - [NSNull长]:无法识别的选择发送到实例

奇怪的是,使用:

if (_rate == nil) and  if (_rate == NULL) 

变量它似乎不是空或空。

有什么建议吗?

回答

1

这意味着_rateNSNull的一个实例。

if (rate == [NSNull null]) { 
    // It's set to "NSNull null" 
} else { 
    // It's a value you can work with 
} 

为了避免该警告(因为rateNSString),你可以这样做:

if ([rate isEqual:[NSNull null]]) { 
+0

的Tx。应用程序现在不会崩溃,但出现警告“distinc指针类型('NSString'*')和NSNull *”的比较。 – doxsi

+1

查看我的更新回答。 – rmaddy