2017-10-20 191 views
0

我一直在將一個巨大的故事板重構爲較小的故事板。對於我做的前幾個,我沒有爲故事板ID設置友好名稱。因此一些賽段指向具有內部名稱的故事板參考(如UITableViewController-pF0-sDc-w0D)。我已經添加了友好名稱,但這些引用尚未更新,因此令人困惑。有沒有一種安全的方法來改變這個名字而不會破壞參考?更改故事板參考名稱

回答

0

您可以通過直接編輯故事板代碼來手動更改引用名稱,而無需重新創建連接。

首先通過重構或手動

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

如果您希望引進更多的可讀性到您的代碼,但你害怕在故事板改變標識符。你可以欺騙一下。

引入一個枚舉類型的字符串,它將包含所有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) 

通過使用這種方法,你能介紹一下你的塞格斯的很好描述性的名稱,並在同一時間,你可以推遲改變實際名稱的時刻,你可以方便公開這樣做。您可以對視圖控制器的故事板標識執行相同操作。