我目前正在开发一个项目,其中IBOutletCollection中的按钮每个都代表一副扑克牌中的一张牌。我遇到了一个问题,尽管当我添加了所有 52 张卡片时,我根据indexOfObject中的 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 中的索引,使它们都是连续的?或者这些事情最好保持不变以找到更好的方法?