正确的NSString输出

时间:2015-03-02 08:00:57

标签: ios objective-c

我有talbeView从JSON填充数据。我的一个文本标签填充NSString,有时输出0(NSNULL),显然不会在单元格文本标签上输出。

以下代码:

if ([(cell.myNameLabel.text)  isEqual: @"0(NSNull)"]){
        cell.myNameLabel.text = @"No Name";
    }

Isn不工作,我想知道为什么?

如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

JSON填充的数据在此使用,如下所示:

//use accordingly that it may contain either NSDictionary or NSArray.
NString *strValue = youJSONDataArray[indexPath.row];

if ([value isEqual:[NSNull null]] || value.length == 0) {
  strValue == @"";
}

UILabel中设置字符串值,如下所示:

cell.myNameLabel.text = strValue;

答案 1 :(得分:1)

NSJSONSerialization使用NSNull表示空JSON值。

请改为尝试:

if ([cell.myNameLabel.text isEqual:[NSNull null]]) {
     // …
}

但是您可能希望在解析过程中删除NSNull,以便您的代码不会被NSNull检查错过。

答案 2 :(得分:1)

如果JSON响应具有空值,则NSNullNSJSONSerialization类指示,以便您可以将代码修改为

if ([cell.myNameLabel.text isEqual:[NSNull null]]) {
 // your logic here
}