我想知道,使用NSMutableArray是制作数组的最好方法,我将添加对象吗?或者,只是一个常规的NSArray?其次,我试图在java中创建类似于ArrayList的东西(因此对大小没有限制),我想知道如何做到这一点。我想到的是制作一个更大的数组并将旧数组复制到其中。我的代码:
- (void) addAccount:(BankAccount *)b
{
accountCount = [NSNumber numberWithDouble:[accountCount doubleValue] + 1];
NSMutableArray *oldList = accounts;
accounts = [[NSMutableArray alloc] (some code to make bigger and copy over)];
}
P.S。我昨天教自己这种语言,所以如果它太先进我可能不理解你的反应
答案 0 :(得分:0)
NSMutableArray
和NSArray
之间的区别在于“可变”一词的含义。即: mutable 数组可以在创建后修改,而“普通”NSArray是immutable,并且在创建后无法修改。
因此,使用NSMutableArray并通过addObject:
方法向其添加对象似乎是一种理想的解决方案。
答案 1 :(得分:0)
NSMutableArrays是你想要的。此外,NSMutableArrays已经像ArrayLists或STL向量,或其他任何“没有大小限制”的东西。您可以说[myArray addObject:someObject];
,直到内存不足为止,它会根据需要不断调整大小。
答案 2 :(得分:0)
NSArray
。如果您现在要添加一些对象,那么稍后再使用NSMutableArray
。您的代码段没有多大意义。要制作NSMutableArray
,请执行以下操作:
NSMutableArray *array = [NSMutableArray array];
答案 3 :(得分:0)
如果您不需要订单(通常不需要),请使用NSSet / NSMutableSet。