Как использовать NSStoryboard.SceneIdentifier и NSStoryboardSegue.Identifier без переноса необработанных строковых значений?
Свифт добавил NSStoryboard.SceneIdentifier
а также NSStoryboardSegue.Identifier
типы, чтобы отвести разработчиков от использования строковых идентификаторов для ссылки на элементы раскадровки.
В Objective-C мы будем ссылаться на эти идентификаторы раскадровки через NSStrings:
[storyboard instantiateViewControllerWithIdentifier:@"myStoryboardID"];
В раннем Swift аналогичным образом использовались бы строки:
storyboard.instantiateViewController(withIdentifier: "myStoryboardID")
Наконец, кажется, что Swift 4 добавил новый UIStoryboard.SceneIdentifier
а также NSStoryboardSegue.Identifier
типы:
storyboard.instantiateController(withIdentifier: NSStoryboard.SceneIdentifier(rawValue: "myStoryboardID"))
Но это выглядит довольно нелепо, просто оборачивая свою бывшую myStoryboardID"
с NSStoryboard.SceneIdentifier(rawValue: "myStoryboardID")
,
Есть ли в Swifty способ использовать эти типы таким образом, который затмевает строки, например, объявляя перечисление всех доступных элементов?