如何将nil添加到数组(dict)时自动将nil转换为[NSNull null]?

时间:2012-05-21 08:07:00

标签: ios objective-c cocoa

我需要将一些值添加到数组中(使用initWithObjects),然后再编码为JSON字符串。

众所周知,当数组遇到nil时,它将停止读取下一个值。

作为JSON数组的约定,nil应该在有序位置充当null。

我应该检查每个值,并在将其添加到数组之前手动将其转换为[NSNull null]吗?

1 个答案:

答案 0 :(得分:1)

  

我应该检查每个值,并在将其添加到数组之前手动将其转换为[NSNull null]吗?

是。您可以创建一个简单的辅助方法/函数:

id GuardJSONElement(id arg) { return arg ? arg : [NSNull null]; }

然后:

[array addObject:GuardJSONElement(something)];