Cocoa 不安全保障措施

Cocoa 不安全保障措施,cocoa,nsarray,Cocoa,Nsarray,如果NSArray有可能为空,那么最好在分配时检查它并将其设置为等于零(如果为空),还是在使用时进行检查 e、 g NSArray*myArray; 如果([anotherArray count]>0)0我认为这是编程风格的问题 我猜如果传入的数组为空,您可能会担心不必要地分配内存必要时,您应该检查数组是否为空 不要将其设置为nil,这可能会导致其他问题。例如,如果尝试将nil数组添加到NSArray、NSDictionary或其他集合类,则运行时将引发异常 同样对于任何其他变量,NSArray

如果NSArray有可能为空,那么最好在分配时检查它并将其设置为等于零(如果为空),还是在使用时进行检查

e、 g

NSArray*myArray;

如果([anotherArray count]>0)0我认为这是编程风格的问题


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

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


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

同样对于任何其他变量,NSArray只是首先想到的。如果它是空的,为什么要将其设置为nil?没错,除了不想意外访问空数组之外,我也不希望无用的变量占用空间。我认为将其设置为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];