コンテキスト:私は現在、iTunes U でスタンフォード大学の最新の cs193p コースの課題 2 に取り組んでいます。単純に解決策を調べることは避けようとしていますが、行き詰っています。
問題:次のコードの場合:
for (Card *c in self.chosenCards) { // for debugging purposes
NSLog(@"Card: %@ index: %d", c.contents, [self.chosenCards indexOfObject:c]);
}
[self.chosenCards removeObjectAtIndex:0];
私は次の結果を得続けます:
2014-11-30 14:58:11.487 Matchismo[12262:60b] Card: 5clubs♦️ index: 0
2014-11-30 14:58:11.487 Matchismo[12262:60b] Card: 6clubs♣️ index: 1
2014-11-30 14:58:23.714 Matchismo[12262:60b] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 1 beyond bounds [0 .. 0]'
どうして ): ?明らかに、私の配列にはインデックス 0 のオブジェクトが含まれており、明らかに配列の境界は [0 .. 0] を超えています。