NSArray гарантии - PullRequest
       12

NSArray гарантии

2 голосов
/ 06 мая 2010

Если есть вероятность, что NSArray пуст, лучше ли его проверить и установить равным nil, если он пуст, когда он назначен, или, скорее, выполнить проверку, когда он используется?

, например

NSArray *myArray;

if ([anotherArray count] > 0)     <-- Check when assigned
  myArray = [anotherArray copy];
else
  myArray = nil;

something = [myArray objectAtIndex:x];

или

NSArray *myArray;

myArray = [anotherArray copy];

if ([myArray count] > 0)          <-- Check when used
  something = [myArray objectAtIndex:x];

Что лучше?

Ответы [ 2 ]

3 голосов
/ 07 мая 2010

Вы должны просто проверить, пуст ли массив, когда это необходимо.

Не устанавливайте его на nil, это может вызвать другие проблемы. Например, если вы попытаетесь добавить массив nil в NSArray, NSDictionary или другой класс коллекции, среда выполнения выдаст исключение.

0 голосов
/ 06 мая 2010

Я думаю, что это вопрос стиля программирования больше всего на свете.

Полагаю, вы беспокоитесь о том, чтобы излишне выделять память, если передаваемый массив пуст

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...