我有一个包含视图控制器的容器视图。在调用 awakeFromNib 之前,我需要在此视图控制器中设置一个非 UI 属性。但是,在 awakeFromNib 发生之前,不会调用嵌入 segue 的 prepareForSegue 方法。
有没有办法在 awakeFromNib 之前将此信息传递给包含的视图控制器?
我有一个包含视图控制器的容器视图。在调用 awakeFromNib 之前,我需要在此视图控制器中设置一个非 UI 属性。但是,在 awakeFromNib 发生之前,不会调用嵌入 segue 的 prepareForSegue 方法。
有没有办法在 awakeFromNib 之前将此信息传递给包含的视图控制器?
我在我的一个应用程序中遇到了类似的问题。
基本上,我有一个 ViewController,它具有数据模型的属性,但我不确定在我的生命周期中何时实际设置了数据模型。我的解决方案是使用Key-Value Observing在设置时接收回调。
在可以设置值之前的某处:
[self addObserver:self forKeyPath:@"propertyName" options: 0 context: nil];
打回来:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
if ([keyPath isEqualToString:@"propertyName"]) {
//do something
}
}
记得注销(我在我的dealloc
)
[self removeObserver:self forKeyPath:@"propertyName"];