是否可以在Xcode Storyboard Attribtutes检查器中使用plist文件字符串?

问题描述

我发现我必须两次为segue标识符声明相同的字符串值:

  1. 一旦在代码中处理我的prepare()存根中的segue逻辑
  2. 在检查员中一次在情节提要中设置segue ID

显然,这会带来许多打字错误的潜在问题,以及两个字符串值之间不存在的问题。

如果可能的话,我想在plist文件中定义一次我的segue ID,然后在上面列出的两个地方两次引用相同的定义。当然,我知道可以在Swift中引用plist值,但是在Storyboard属性检查器中可以吗?

The field I'm trying to set with a PLIST value

解决方法

我认为这是不可能的,但是我为您提供了两种选择:

  1. 使用类似R.swift的名称。该工具将解析您的Storyboard,并创建可在代码中使用的常量

  2. 与其通过标识符标识序列,不如通过目标控制器来标识序列。

示例:

override func prepare(for segue: UIStoryboardSegue,sender: Any?) {
    if let controller = segue.destination as? MyViewController {
      controller.value = self.value
    }
}

我个人使用数字2,我很少读过segue的name属性