我有一个NSMutableArray,它将以0个对象开头,但随着程序的进展,对象将被添加到它中。当添加新元素时,如何向下移动所有元素?
例如:
1)NSMutableArray array = 0个元素
2)NSMutableArray array = 1个元素{[0,a]}
3)NSMutableArray数组= 2个元素{[0,b],[1,a]}
4)NSMutableArray数组= 3个元素{[0,c],[1,b],[2,c]}
通过上面的列表可以看出,当对象被添加到数组中时,所有当前元素都向下移动。但是,我不希望我的数组超过一定的大小(比方说10个元素)。当一个元素被推到11时,我希望它“被”推出数组。我怎么能这样做呢?
答案 0 :(得分:8)
你可以这样做:
[array insertObject:object atIndex:0];
if ([array count] > 10) {
[array removeLastObject];
}
第一行会自动将其他元素推开,而下一行只是确保数组的长度不超过10。
答案 1 :(得分:1)
我不确定NSMutableArray
是否是合适的结构。您正在描述一个大小有限的堆栈;你正在将新元素推到前面,然后元素会从背面掉下来。
是否真的有必要将对象的索引值设置为堆栈/数组中的索引?