何が問題なのかわかりません。ここに私のコードがあります:
NSMutableArray *sortedActivities = [NSMutableArray arrayWithCapacity:self.trainingSession.activities.count];
for (ManagedActivity *activity in self.trainingSession.activities)
[sortedActivities insertObject:activity atIndex:[activity.activityIndex unsignedIntegerValue]];
ご覧のとおり、アクティビティのセット (trainingSession の関係) を、アクティビティ内の activityIndex という名前のプロパティで並べ替えたいと考えています。アクティビティのインデックスは常に 0 以降です。つまり、trainSession.activities.count-1 を超えるインデックスはありません。
適切な容量の NSMutableArray を割り当てて並べ替えを行い、アクティビティを (1 回) 反復処理して正しいインデックスに挿入します。なんらかの理由で、このエラーが発生することを知りません:
キャッチされていない例外 'NSRangeException' が原因でアプリを終了しています。理由: ' * -[__NSArrayM insertObject:atIndex:]: インデックス 2 が空の配列の境界を超えています'
私は配列を保持しようとしましたが、それは問題ではありませんでした (そして問題ではありません)。
インデックスは正しい、カウントは正しい、何が問題なの??