gpt4 book ai didi

iPhone - 无法访问 IBOutlet(零值)

转载 作者:行者123 更新时间:2023-12-03 19:32:13 24 4
gpt4 key购买 nike

我在访问 IBOutlet 时遇到问题。

我有一个NIB,里面有一个表格 View 、一个工具栏和一个UILabel(封装到 View 中)。 Controller (即文件的所有者)定义为:

@interface ChoixPeriodeController : UIViewController <UITableViewDelegate> { 
IBOutlet UILabel* __periodeInitialeLabel;
}

@property(nonatomic, retain) UILabel* periodeInitialeLabel;

- (void) setSelectedPeriode:(Tache_TypePeriode)typePeriode;

@synthetize periodeInitialeLabel = __periodeInitialeLabel;

在.m文件中,该函数由父窗口调用来初始化Label:

- (void) setSelectedPeriode:(Tache_TypePeriode)typePeriode {
NSMutableString* tmpString = [NSMutableString string];

[tmpString appendFormat:some text format....];

self.periodeInitialeLabel.text = tmpString;
}

进入这个函数,我可以看到 self.periodeInitialeLabel 为零。我不明白为什么。一切都连接到 IB...您知道可能出现什么问题吗?

最佳答案

这里的问题是操作顺序。如果文本标签仍然为零,则可能尚未设置。相反,您可以在 UIViewController 方法 viewDidLoad 内部调用此方法来处理此类必须执行 Interface Builder 中无法完成的“额外配置”的操作。

还有awakeFromNib。它们非常相似,除了 awakeFromNib 在 NIB 文件解包时被调用 ONCEviewDidLoad 可以被调用多次 - 例如,如果出现内存不足的情况(通常发生在 iOS4 上),您的 View 将通过 viewDidUnload 被清除。

关于iPhone - 无法访问 IBOutlet(零值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4699644/

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