如果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];
哪个更好?
答案 0 :(得分:3)
您应该在必要时检查数组是否为空。
不要将其设置为nil
,这可能会导致其他问题。例如,如果您尝试将nil
数组添加到NSArray
,NSDictionary
或其他集合类,则运行时将引发异常。
答案 1 :(得分:0)
我认为这是编程风格的问题。
如果传入的数组为空,我猜你担心不必要地分配内存