ios - 如何为从情节提要加载的视图控制器使用init?
问题描述
我总是像这样从情节提要中初始化我的视图控制器:
let controller = storyboard!.instantiateViewController(withIdentifier: "MyViewController") as! MyViewController
我想在 init 上初始化变量。通常我只是将它们分配给控制器,例如controller.variable = x
. 我更喜欢使用 init() 函数,但如果我使用情节提要,我似乎不能。最好的方法是什么?
解决方案
我不认为如果你为 ViewController 创建自己的 init() 会很有用。
您可以简单地使用如下:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "ViewController") as! ViewController
controller.pageTitle = "XYZ"
controller.pageNumber = 2
如果您想将多个值传递给目标控制器,那么如果所有值都定义了一个类别类,那么您也可以传递模型类。
推荐阅读
- swiftui - 使用 struct id 将收藏夹保存到 UserDefaults
- javascript - 如何使用 Github API 实现 HTML/JS 以将文件更改保存到存储库
- gensim - 调整 LDA 主题模型
- python - ASCII 字母拓扑排序
- javascript - 从 NFC 阅读器直接读取到桌面 Web 应用程序?
- java - 如何在 Java 中获取 UTF8 字符集的完整列表
- javascript - 如何使用 Vanilla JavaScript 搜索和替换 HTML 文件中的所有标签?
- javascript - 使用 ReactJS 的启用-禁用按钮
- python-3.x - 无法运行命令 rasa train
- sql - 如何在 Apache Beam 中使用 Calcite SQL 中的 LEAST 函数