有没有办法在 Xcode 故事板属性检查器中使用 plist 文件字符串?
Is there a way to use plist file strings in the Xcode Storyboard Attribtutes inspector?
我发现我必须为 segue 标识符声明相同的字符串值两次:
- 在我的 prepare() 存根中处理 segue 逻辑的代码
- 在检查器中一次在故事板中设置 segue ID
显然,这会带来许多潜在的拼写错误问题,以及两个字符串值之间的问题。
如果可能的话,我想做的是在 plist 文件中定义一次我的 segue ID,然后在上面列出的两个地方两次引用相同的定义。当然我知道可以在 Swift 中引用 plist 值,但这在 Storyboard 属性检查器中可能吗?
我认为这不可能,但我有两种选择供您选择:
使用类似 R.swift 的内容。此工具将解析您的 Storyboard 并创建可在代码中使用的常量
不是通过标识符来识别 segue,而是通过其目标控制器来识别。
示例:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let controller = segue.destination as? MyViewController {
controller.value = self.value
}
}
我个人使用数字 2,我很少阅读 segue
的名称 属性
我发现我必须为 segue 标识符声明相同的字符串值两次:
- 在我的 prepare() 存根中处理 segue 逻辑的代码
- 在检查器中一次在故事板中设置 segue ID
显然,这会带来许多潜在的拼写错误问题,以及两个字符串值之间的问题。
如果可能的话,我想做的是在 plist 文件中定义一次我的 segue ID,然后在上面列出的两个地方两次引用相同的定义。当然我知道可以在 Swift 中引用 plist 值,但这在 Storyboard 属性检查器中可能吗?
我认为这不可能,但我有两种选择供您选择:
使用类似 R.swift 的内容。此工具将解析您的 Storyboard 并创建可在代码中使用的常量
不是通过标识符来识别 segue,而是通过其目标控制器来识别。
示例:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let controller = segue.destination as? MyViewController {
controller.value = self.value
}
}
我个人使用数字 2,我很少阅读 segue
的名称 属性