0

我目前正在开发一个项目,其中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 中的索引,使它们都是连续的?或者这些事情最好保持不变以找到更好的方法?

4

1 回答 1

1

是的,不要在 IBOutletCollection 上做这种事情。我只在旋转设备时使用 IBOutletCollection 并且我有不同的视图(没有自动布局)和相同的按钮,所以只有 2 个索引。

在您的示例中,您应该使用 UICollectionView,好的教程,您应该在那里找到UICollectionView 教程

于 2013-05-26T05:13:57.150 回答