更改故事板参考的名称

时间:2017-10-20 21:40:55

标签: ios xcode storyboard interface-builder

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

2 个答案:

答案 0 :(得分:0)

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

首先通过Refactor或手动

将您的代码重命名为ViewController中的新名称
   @IBOutlet weak var skView: SKView!

假设您希望将名称更改为

   @IBOutlet weak var goodskView: SKView!

然后通过“右键单击”打开故事板打开为>源代码,使用find函数搜索原始名称

<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>

答案 1 :(得分:0)

如果您希望为代码引入更多可读性,但又害怕更改故事板中的标识符。你可以稍微欺骗它。

引入一个字符串类型的枚举,它将包含所有故事板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的精美描述性名称,同时,您可以将实际名称更改为方便这样做的时刻。您可以对视图控制器的故事板标识符执行相同的操作。