Ios 目标C删除ObjectSatides索引,以实现更清晰的编码

Ios 目标C删除ObjectSatides索引,以实现更清晰的编码,ios,objective-c,Ios,Objective C,我想为一些工作代码创建一个更短、更优雅的版本 仅供参考,我必须向现有数组中添加一个元素,然后删除一个,然后重复。(不幸的是,我不能添加多个元素,然后删除多个) 工作代码: NSMutableArray *destinationArray; destinationArray = [[NSMutableArray alloc] init]; NSMutableArray *originArray = [[NSMutableArray alloc]init]; // Copy one specifi

我想为一些工作代码创建一个更短、更优雅的版本

仅供参考,我必须向现有数组中添加一个元素,然后删除一个,然后重复。(不幸的是,我不能添加多个元素,然后删除多个)

工作代码:

NSMutableArray *destinationArray;
destinationArray = [[NSMutableArray alloc] init];
NSMutableArray *originArray = [[NSMutableArray alloc]init];

// Copy one specific array element from originArray to destinationArray
// Note: assume originArray and destinationArray populated at this point
int originIndex = var1-var2+1;
[destinationArray addObject:originArray[originIndex]];

// Remove one specific array element from destinationArray
[destinationIndex removeAllIndexes];   // clear index if used previously
[destinationIndex addIndex:var3-var4-1];
[destinationArray removeObjectsAtIndexes:destinationIndex];
我更喜欢以下版本:

[destinationArray addObject:originArray[var1-var2+1]];
[destinationArray removeObjectsAtIndexes:[var3-var4-1]];
有没有办法让这个简短的版本生效?(给出预期的标识符错误)

非常感谢您的帮助……

为什么不这样做:

NSMutableArray *destinationArray = [[NSMutableArray alloc] init];
NSMutableArray *originArray = [[NSMutableArray alloc]init];

// somewhere in here objects are added to "originArray"

[destinationArray addObject:originArray[var1-var2+1]];
[destinationArray removeObjectAtIndex:var3-var4-1];

您的实现与您要求的不同。您的代码将无法工作,它将崩溃,因为您没有在
originArray
中添加任何对象,并且您正在尝试从空数组中获取对象。@bHumeshwerkat请重新阅读代码中的注释。为什么人们对这个问题投反对票?问题很清楚,它显示了相关的代码,并且显示了一些努力。人们还想要什么?这里的var1,var2,var3,var4是什么?@Bhumeshwerkatre问手术医生。干得好,麦迪,谢谢,效果很好。作为一个初学目标C的人,我只是有一些额外的括号把事情搞砸了。Bhumeshwerkatre:变量只是用来设置正确索引值的整数。