更改情节提要参考的名称
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 引入漂亮的描述性名称,同时,您可以将更改实际名称推迟到您方便的时候。您可以对视图控制器的情节提要标识符执行相同操作。
【讨论】:
以上是关于更改情节提要参考的名称的主要内容,如果未能解决你的问题,请参考以下文章