NSArray和NIL值。如何返回非NIL值的数字(“count”)数组

时间:2012-02-25 15:16:09

标签: objective-c ios arrays nsarray

关于NSArray我有两个问题:

  • 如何将nil值添加到数组中?会添加[NSNull null]是否正确?
  • 什么是最好的代码 返回此数组的nil和非nil值的数量(计数) 你的看法?

谢谢!

3 个答案:

答案 0 :(得分:6)

您无法将nil添加到NSArray,因此您必须使用[NSNull null],而不是如您所说。

您可以通过以下方式计算nilNSNull)项目的数量:

NSIndexSet *nilIndexes = [array indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
    return obj == [NSNull null];
}];

NSUInteger count = nilIndexes.count;

答案 1 :(得分:4)

  • 您无法添加nil值,因此请使用[NSNull null]
  • 制作一个NSArray类别,并迭代计算null个对象。

答案 2 :(得分:1)

试试Mike Ash MACollectionUtilities

#define ARRAY(...) ([NSArray arrayWithObjects: IDARRAY(__VA_ARGS__) count: IDCOUNT(__VA_ARGS__)])