Передать массив из AppDelegate для просмотра контроллера - PullRequest
0 голосов
/ 02 сентября 2018

Я загружаю массив с данными из базы данных Firebase в моем AppDelegate, так как мне нужно, чтобы массивы загружались до создания и загрузки представлений. Как я могу передать этот массив контроллеру представления для заполнения TableView?

Edit: Я не думаю, что правильно сформулировал свой вопрос и не предоставил достаточно информации. У меня есть эти данные Firebase, которые мне нужно загрузить в массив. Этот массив необходимо загрузить в приложение, прежде чем он будет использован контроллером представления, который использует этот массив. Это связано с тем, что контроллер представления использует какао-боб, который разбивает массив на несколько категорий для отображения в разных табличных представлениях. Репо для какао-стручка, которое я использую, можно найти здесь .

Мой вопрос: где лучше всего загрузить этот массив? Моей первой мыслью был AppDelegate, но массив пуст и поэтому таблица не загружается. Я довольно новичок в программировании на iOS, поэтому я открыт для любых предложений.

1 Ответ

0 голосов
/ 02 сентября 2018

В классе AppDelegate:

var window: UIWindow?

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {
    //Fill your array, let's say it's called firebaseArray. I would recommend doing so in the view controller and not in the Appdelegate for better responsibility distribution in your code
    let vc = YourViewController()
    //And YourViewController must have a array property
    vc.array = firebaseArray
    window = UIWindow(frame: UIScreen.main.bounds)
    //make your vc the root view view controller
    window?.rootViewController = vc
    window?.makeKeyAndVisible()
    return true
}
...