有没有办法在IBOutletCollection中使索引连续?

时间:2013-05-26 04:27:05

标签: ios ios6 iboutletcollection

我目前正在开展一个项目,其中 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中的索引,以便它们都是连续的?或者这些是最好的东西,最好不要找到更好的方法来做到这一点?

1 个答案:

答案 0 :(得分:1)

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

在你的例子中,你应该使用UICollectionView,你应该在那里找到很好的教程UICollectionView tutorial