我经常使用 IBOutletCollection 来顺序引用 UIView 对象。
例如,我可以枚举 UIButtons 的有序列表,获取它们的数字索引,而无需为每个按钮创建相同数量的 IBOutlet。它非常有用,尤其是当您的视图包含诸如数字键按钮之类的东西时。
但是,要使此方法正常工作,必须对 IBOutletCollection 进行排序,并且必须为对象返回相同的索引号。当我一直在使用 .xib 时,IBOutletCollection 数组中对象的顺序与 Interface Builder 中将对象连接到此 IBOutletCollection 的顺序相同。
当我尝试在情节提要的场景中做同样的事情时,就会出现问题。我不确定它是否与 UIViewController 或 Storyboard 有关,但是当我使用单独的 .xib 时对我有用的相同解决方案无法正常工作。
再次实例化对象时,索引号不会排序和更改。
有没有人遇到同样的问题?还是我忽略了什么?