ios - 从另一个 Controller 更新 UI

标签 ios swift swift3

我想在单击 ContainerView 包含表 ViewController 的按钮时更新我的​​ UILabel。当我尝试执行此操作时,UILabel 的 导出引用显示 nil 值异常。我在 Xcode8 中使用 Swift3

最佳答案

您看到的问题很可能是因为在另一个 View Controller 上拥有此标签的 View 仍未加载。
这种情况经常发生,主要是因为 View Controller 拥有的 View 是以惰性方式实例化的,这意味着它们仅在需要时加载。
要在设置标签值之前解决此问题,只需通过执行类似操作来预加载 View 。

_ = another_viewcontroller_instance.view

通过这种方式,您将强制目标 View Controller 加载 View 并在 xib 上创建所有必要的连接。
即使此修复有效,这也不是处理这种模式(将信息从一个 VC 发送到另一个)的好方法,但由于您没有给我们任何进一步的细节,这是我唯一的解决方案。

关于ios - 从另一个 Controller 更新 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43653792/

相关文章:

iphone - 如何在 UIWebView 上模拟点击事件?

ios - 为要在 Swift 中使用的 Objective-C 类添加便利初始化程序扩展

swift3 - Realm Swift 回调函数

iOS 11,当用户强行杀死时应用程序不更新位置

swift - 如何在 Swift 3.0 中拖放 Sprite ?

Objective-C NSMutableArray removeObjectAtIndex : crashes

ios - 为什么我的 UITextView 中的字体会无缘无故地快速更改样式?

ios - 当且仅当 producerA 不抛出错误时如何执行 producerB?

iphone - 从服务器获取数据后如何获取保存数据的文件路径?

macos - 使用swift语言osx自动关闭窗口