问题描述
我发现我必须两次为segue标识符声明相同的字符串值:
- 一旦在代码中处理我的prepare()存根中的segue逻辑
- 在检查员中一次在情节提要中设置segue ID
显然,这会带来许多打字错误的潜在问题,以及两个字符串值之间不存在的问题。
如果可能的话,我想在plist文件中定义一次我的segue ID,然后在上面列出的两个地方两次引用相同的定义。当然,我知道可以在Swift中引用plist值,但是在Storyboard属性检查器中可以吗?
解决方法
我认为这是不可能的,但是我为您提供了两种选择:
-
使用类似R.swift的名称。该工具将解析您的Storyboard,并创建可在代码中使用的常量
-
与其通过标识符标识序列,不如通过目标控制器来标识序列。
示例:
override func prepare(for segue: UIStoryboardSegue,sender: Any?) {
if let controller = segue.destination as? MyViewController {
controller.value = self.value
}
}
我个人使用数字2,我很少读过segue的name属性