私は現在、IBOutletCollection内のボタンがそれぞれトランプのデッキのカードを表すプロジェクトに取り組んでいます。問題が発生しましたが、52 枚のカードすべてを追加したときに、 indexOfObjectに基づいて範囲外のエラーが発生していました。
@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *cardButtons;
...
- (IBAction)flipCard:(UIButton *)sender {
[self.game flipCardAtIndex:[self.cardButtons indexOfObject:sender]];
...
}
すべてのボタンを調べたところ、IBOutletCollection 内に、インデックスをスキップするボタンがいくつかあることがわかりました。私は ...30、31、32、34... のインデックスを取得していたので、わずか 52 枚のカードで、まだ 54 のようなインデックスを取得していました。
ほんの数枚のカードでも最初からやり直しても、インデックスをスキップしていることがわかります。
Outlet Collection 内のインデックスを手動で操作して、それらがすべて連続するようにする方法はありますか? それとも、より良い方法を見つけるために、これらのことはそのままにしておくのが最善でしょうか?