更改情节提要参考的名称

Posted

技术标签:

【中文标题】更改情节提要参考的名称【英文标题】:Change name of storyboard reference 【发布时间】:2017-10-20 21:40:55 【问题描述】:

我一直在将一个巨大的故事板重构为更小的故事板。对于我做的前几个,我没有为情节提要 ID 设置友好的名称。因此,一些 segues 指向带有内部名称的故事板引用(例如UITableViewController-pF0-sDc-w0D)。此后我添加了友好名称,但这些引用尚未更新,因此令人困惑。有没有一种安全的方法可以在不破坏引用的情况下更改此名称?

【问题讨论】:

【参考方案1】:

您可以通过直接编辑情节提要代码来手动更改参考名称,而无需重新创建连接。

首先在 ViewController 中通过 Refactor 或手动将代码重命名为新名称

   @IBOutlet weak var skView: SKView!

说你想把名字改成

   @IBOutlet weak var goodskView: SKView!

然后通过“右键”打开故事板打开为>源代码,使用查找功能搜索原名

<connections>
                        <outlet property="skView" destination="HLz-n2-wPe" id="lq0-bU-XZj"/>
                        <outlet property="toolbar" destination="TNu-gh-H4d" id="3Wb-7n-KOM"/>
                    </connections>

将属性名称更改为新名称。确认母节点正确,因为故事板“属性”可以是其他层次结构中的某个名称。

<connections>
                        <outlet property="goodskView" destination="HLz-n2-wPe" id="lq0-bU-XZj"/>
                        <outlet property="toolbar" destination="TNu-gh-H4d" id="3Wb-7n-KOM"/>
                    </connections>

【讨论】:

【参考方案2】:

如果您希望增加代码的可读性,但又害怕更改情节提要中的标识符。你可以骗它一点。

引入一个字符串类型的枚举,它将包含所有故事板segues标识符的所有好名字。

enum Segues: String

    case DisplaySomeScreen = "Very-Long-And-Vague-Name-123"
    case DisplayOtherScreen = "Very-Long-And-Vague-Name-455"

接下来,您可以通过以下方式执行segue。

performSegue(withIdentifier: Segues.DisplayOtherScreen.rawValue, sender: self)

通过使用这种方法,您可以为您的 segue 引入漂亮的描述性名称,同时,您可以将更改实际名称推迟到您方便的时候。您可以对视图控制器的情节提要标识符执行相同操作。

【讨论】:

以上是关于更改情节提要参考的名称的主要内容,如果未能解决你的问题,请参考以下文章

添加情节提要参考时,标签栏控制器项目上不显示任何内容

如何在情节提要上更改标签栏背景颜色和标签栏项目颜色

Xcode 6,主情节提要,颜色关闭

如何复制包含情节提要的 iOS 5.1 应用程序

XIB 到情节提要

如何设置初始情节提要