【问题标题】:NSArray and NIL values. How to return the number ("count") of non-NIL values the arrayNSArray 和 NIL 值。如何返回数组中非 NIL 值的数量(“计数”)
【发布时间】:2012-02-25 15:16:09
【问题描述】:

我有两个关于 NSArray 的问题:

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

谢谢!!

【问题讨论】:

  • 如果您需要计算集合中有多少元素,请使用 NSCountedSet 类而不是 NSArray。

标签: objective-c ios arrays nsarray


【解决方案1】:

您不能将nil 添加到NSArray,因此您必须按照您所说的那样使用[NSNull null]

您可以这样计算nil (NSNull) 项的数量:

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

NSUInteger count = nilIndexes.count;

【讨论】:

    【解决方案2】:
    • 你不能添加 nil 值,所以使用[NSNull null]
    • 创建一个 NSArray 类别并遍历它,计算 null 对象。

    【讨论】:

      【解决方案3】:

      试试 Mike Ash MACollectionUtilities

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

      【讨论】:

        猜你喜欢
        • 2020-01-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-10
        相关资源
        最近更新 更多