NSArray保障措施

时间:2010-05-06 10:42:50

标签: cocoa nsarray

如果NSArray有可能是空的,检查它是否更好,如果在分配时为空,则设置为nil,或者在使用时检查是否为空?

e.g。

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 个答案:

答案 0 :(得分:3)

您应该在必要时检查数组是否为空。

不要将其设置为nil,这可能会导致其他问题。例如,如果您尝试将nil数组添加到NSArrayNSDictionary或其他集合类,则运行时将引发异常。

答案 1 :(得分:0)

我认为这是编程风格的问题。

如果传入的数组为空,我猜你担心不必要地分配内存