2014-02-14 62 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