Изменить первый представленный viewController (основной интерфейс) - PullRequest
0 голосов
/ 25 мая 2019

Здравствуйте, я сделал контроллер страницы для своего приложения. Этот контроллер страницы появится при запуске приложения, если на устройстве нет какого-либо основного объекта данных «Пользователь».

Итак, я хочу сделать это: При запуске приложения выполните основной запрос данных, который возвращает все объекты «Пользователь» в массиве. (эта часть в порядке) Если массив пуст, то представленный VC - это pageController, в противном случае он является нормальным для представленного.

PageController и другой контроллер находятся на разных раскадровках. Я видел, что мы можем изменить первую раскадровку в параметре приложения, этот параметр называется основным интерфейсом. На самом деле основной интерфейс - это обычный VC, так как я могу программно представить контроллер страницы в моем didFinishLaunchingWithOptions (), когда мое условие истинно?

1 Ответ

2 голосов
/ 25 мая 2019

Внутри didFinishLaunchingWithOptions

// query coredata 

if arr.isEmpty { 
  let viewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "pageID") as! PageController
  self.window?.rootViewController = viewController
}
else {
  let otherController = UIStoryboard(name: "Other", bundle: nil).instantiateViewController(withIdentifier: "otherID") as! OtherController 
  self.window?.rootViewController = otherController 
}
...