Вы не можете использовать SEGUE для ViewController
из AppDelegate
, потому что AppDelegate
не ViewController
. Segues работает только с ViewControllers
.
Но вы можете инициировать идентификатор в раскадровки от вашего AppDelegate
к вашему ViewController
, так что вы можете отправить данные.
Для вас есть пример;
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let yourViewController = storyboard.instantiateViewController(withIdentifier: "yourViewControllerStoryboardIdentifier") as! YourViewControllerClassName
yourViewController.yourProperty = "yourValue"
self.window?.rootViewController = yourViewController
self.window?.makeKeyAndVisible()
return true
}
Вы можете установить ваш Storyboard ID
в вашем Main.storyboard
. Просто выберите свой ViewController
и установите раздел идентификатора раскадровки, щелкните мышью по значку . Используйте иллюстрацию Раскадровка ID.
Вы можете только 'segue' из' viewController' к другому. 'AppDelegate' не является viewController, и поэтому вы ** не можете ** segue. Вы должны либо использовать шаблон делегирования, либо уведомления. Или, возможно, если вы используете неправильный термин. Вы можете установить свой rootViewController – Honey
@Honey, вот что я подумал, спасибо за это. Однако могу ли я представить Viewcontroller через раскадровку, а затем передать данные? – askaale
Рекомендую посмотреть [этот вопрос] (http://stackoverflow.com/questions/19962276/best-practices-for-storyboard-login-screen-handling-clearing-of-data-upon-logou/21889172#21889172) Это имеет очень простой дизайн с хорошими ответами. – Honey