我似乎无法找到问题所在。这是我的代码:
NSMutableArray *sortedActivities = [NSMutableArray arrayWithCapacity:self.trainingSession.activities.count];
for (ManagedActivity *activity in self.trainingSession.activities)
[sortedActivities insertObject:activity atIndex:[activity.activityIndex unsignedIntegerValue]];
如您所见,我想通过活动中名为 activityIndex 的属性对活动集(这是 trainingSession 中的关系)进行排序。活动的索引总是从 0 开始,这意味着没有一个索引超过 trainSession.activities.count-1。
我通过分配具有适当容量的 NSMutableArray 来进行排序,然后迭代活动(一次)并将它们插入到正确的索引中。出于某种我不知道的原因,我收到了这个错误:
由于未捕获的异常“NSRangeException”而终止应用程序,原因:“ * -[__NSArrayM insertObject:atIndex:]: index 2 beyond bounds for empty array”
我尝试保留数组,没关系(也不应该重要)。
索引是正确的,计数是正确的,有什么问题??