gpt4 book ai didi

ios - viewDidLoad后UIButtons的IBOutletCollection为空

转载 作者:行者123 更新时间:2023-11-29 04:01:04 25 4
gpt4 key购买 nike

如标题所述,我的 UIButtons IBOutletCollection 在 vi​​ewDidLoad 后为空。我以同样的方式创建了 UILabels 的 IBOutletCollection,并且这个工作正常。知道如何解决这个问题,或者我在哪里犯了错误?

这是代码:

@property (strong, nonatomic) IBOutletCollection(UILabel) NSArray *lbl_save;
@property (strong, nonatomic) IBOutletCollection(UILabel) NSArray *lbl_cancel;
@property (strong, nonatomic) IBOutletCollection(UILabel) NSArray *lbl_edit;

@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *btn_changeData;
@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *btn_save;
@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *btn_cancel;

按钮放置在 xib 中并正确链接到相应的 socket 。就像标签一样。 Outlets linked

我第一次按下其中一个按钮时,我想访问代码中的按钮。

for (UIButton *btn in _btn_changeData) {
btn.hidden = NO;
btn.userInteractionEnabled = YES;
}
for (UIButton *btn in _btn_save) {
btn.hidden = YES;
btn.userInteractionEnabled = NO;
}
for (UIButton *btn in _btn_cancel) {
btn.hidden = YES;
btn.userInteractionEnabled = NO;
}
for (UILabel *lbl in _lbl_save) {
lbl.hidden = YES;
}
for (UILabel *lbl in _lbl_cancel) {
lbl.hidden = YES;
}
for (UILabel *lbl in _lbl_edit) {
lbl.hidden = NO;
}

这也是我得到以下异常的地方,并意识到我的 Button OUTletcollection 是空的。

-[UIButton countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0xa8a8850 enter image description here

我既不覆盖 socket 集合,也不更改按钮的属性。只是标签在集合中,而按钮不在。我不知道为什么。

提前感谢您的帮助。

马夫

最佳答案

我想到的第一个想法是属性没有正确合成。 _btn_changeData 真的是 btn_changeData 属性背后的 ivar 吗?

第二个想法是我在调试别人的代码时看到的。当 socket 连接不正确时,例如,如果 Controller 引用自身,则可以创建两个 Controller 实例。显然只有其中一个会连接 socket 。确保仅创建 实例。

对于调试来说,自己实现 setter 可能是一个好主意。

编辑:重读后,问题实际上与您在问题中所说的不同。错误消息 -[UIButton countByEnumerateWithState:objects:count:]: 无法识别的选择器已发送到实例 0xa8a8850

并不意味着_btn_changeData是一个空数组。这意味着有一个 UIButton 而不是一个数组。话虽如此,您应该检查是否没有覆盖 _btn_changeData 某处的数据。

关于ios - viewDidLoad后UIButtons的IBOutletCollection为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15849575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com