有没有办法在Xcode情节提要属性检查器中使用plist文件字符串?

有没有办法在Xcode情节提要属性检查器中使用plist文件字符串?,xcode,plist,uistoryboardsegue,xcode-storyboard,Xcode,Plist,Uistoryboardsegue,Xcode Storyboard,我发现我必须为segue标识符声明两次相同的字符串值: 在代码中处理prepare()存根中的segue逻辑 在inspector中设置序列图像板中的序列ID 显然,这会带来许多潜在的问题,包括两个字符串值之间的拼写错误和其他问题 如果可能的话,我想做的是在plist文件中定义一次segue id,然后在上面列出的两个地方引用相同的定义两次。当然,我知道可以在Swift中引用plist值,但在情节提要属性检查器中是否可以 我认为这是不可能的,但我有两种选择供您选择: 使用类似于。此工具将解析故事

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

  • 在代码中处理prepare()存根中的segue逻辑
  • 在inspector中设置序列图像板中的序列ID
  • 显然,这会带来许多潜在的问题,包括两个字符串值之间的拼写错误和其他问题

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


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

  • 使用类似于。此工具将解析故事板并创建可在代码中使用的常量

  • 与其通过标识符识别序列,不如通过其目标控制器进行识别

  • 例如:

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

    就我个人而言,我使用数字2,我很少阅读segue的name属性

    谢谢,你的第二个建议听起来是最好的前进之路。不过,在我看来,这确实有点像苹果的疏忽。这个API是在Objective-C中创建的,它的类型检查不那么严格,所以比较字符串更有意义。您还可以使用它来区分两个分段,以查看具有相同类但具有不同操作或其他内容的控制器。