更改故事板参考名称
问题描述:
我一直在将一个巨大的故事板重构为较小的故事板。对于我做的前几个,我没有为故事板ID设置友好名称。因此一些赛段指向具有内部名称的故事板参考(如UITableViewController-pF0-sDc-w0D
)。我已经添加了友好名称,但这些引用尚未更新,因此令人困惑。有没有一种安全的方法来改变这个名字而不会破坏参考?更改故事板参考名称
答
您可以通过直接编辑故事板代码来手动更改引用名称,而无需重新创建连接。
首先通过重构或手动
@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>
更改正确ty名称改为新名称。确认母亲节点是正确的,因为故事板“属性”可以是其他层级中的某个名称。
<connections>
<outlet property="goodskView" destination="HLz-n2-wPe" id="lq0-bU-XZj"/>
<outlet property="toolbar" destination="TNu-gh-H4d" id="3Wb-7n-KOM"/>
</connections>
答
如果您希望引进更多的可读性到您的代码,但你害怕在故事板改变标识符。你可以欺骗一下。
引入一个枚举类型的字符串,它将包含所有storyboard 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)
通过使用这种方法,你能介绍一下你的塞格斯的很好描述性的名称,并在同一时间,你可以推迟改变实际名称的时刻,你可以方便公开这样做。您可以对视图控制器的故事板标识执行相同操作。