Значения NSArray и NIL.Как вернуть количество ("count") не-NIL-значений в массив - PullRequest
2 голосов
/ 25 февраля 2012

У меня есть два вопроса относительно NSArray:

  • Как я могу добавить nil-значения в массив?Будет ли добавление [NSNull null] правильно?
  • Каков наилучший код для возврата числа (числа) нулевых и ненулевых значений этого массива на ваш взгляд?

Спасибо !!

Ответы [ 3 ]

6 голосов
/ 25 февраля 2012

Вы не можете добавить 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;
4 голосов
/ 25 февраля 2012
  • Вы не можете добавить значение nil, поэтому используйте [NSNull null].
  • Создайте категорию NSArray и итерируйте по ней, считая null объектов.
1 голос
/ 20 октября 2012

Попробуйте это от Майка Эша MACollectionUtilities

#define ARRAY(...) ([NSArray arrayWithObjects: IDARRAY(__VA_ARGS__) count: IDCOUNT(__VA_ARGS__)])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...