我想要编辑'MutableArray',方法是通过此处显示的方法在索引中上下移动不同的对象:NSMutablearray move object from index to index。
我的问题是Xcode首先在'insertObject:atIndex:'之前处理'removeObjectAtIndex'方法,因此数组实际上缩小了大小,这使得某些转换无法进行。一个例子是如果我的'数组'有3个成员并且我将第三个成员的索引从2更改为2,那么什么都不应该发生但实际上应用程序崩溃,因为删除后索引绑定现在是[0,1]。
下面是我用来在数组中实现移动的代码,我也得到一个解析问题:编译器在queue.count
后面的'if'语句中出现了预期的标识符错误。对这两方面的任何帮助都将非常感激。
-(void)makeRankChange:(NSMutableArray *)queue{
for (int queueCount =0; queueCount<queue.count; queueCount++) {
QueueMember *member = [queue objectAtIndex:queueCount];
if (member.rank != queueCount+1) {
if ([0<member.rank] && [member.rank < [queue.count(expected identifier here:Im not sure why)]]) {
[queue insertObject:member atIndex:member.rank-1];
[queue removeObjectAtIndex:queueCount];
}
}
}
}
答案 0 :(得分:0)
如何替换索引处的值:
[queue replaceObjectAtIndex:queueCount withObject:member];
错误最有可能来自if语句中的'['括号