我有NSMutableArray
,我想在其中插入数据,问题首先是我想检查我插入数据的索引是否存在。怎么做?
我尝试过类似的东西,但没有任何工作:
if ([[eventArray objectAtIndex:j] count] == 0)
或
if (![eventArray objectAtIndex:j])
答案 0 :(得分:11)
if (j < [eventArray count])
{
//Insert
}
答案 1 :(得分:3)
NSArray
和NSMutableArray
不是稀疏数组。因此,没有“存在于索引”的概念,只有“数组是否具有N个元素或更多”。
对于NSMutableArray
,可变操作的总和是:
- (void)addObject:(id)anObject;
- (void)insertObject:(id)anObject atIndex:(NSUInteger)index;
- (void)removeLastObject;
- (void)removeObjectAtIndex:(NSUInteger)index;
- (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject;
所有其他可变性方法都可以用上面的表达来表达 - 更具体地说就是你的问题 - 删除一个对象不会创建一个洞(也不能创建一个带有N个“洞”的数组,以便稍后填充)
答案 2 :(得分:0)
我在这个问题中给出了稀疏数组的简要实现:Sparse Array answer