Я думаю, что это вопрос для начинающих. Я в настоящее время есть два контроллера Вид:Как получить доступ к контроллеру представления, который не является контроллером корневого представления из AppDelegate.swift?
class MainViewController: UIViewController {
var markersToDelete = Marker()
func deleteMarkers() {}
}
class MapViewController: UIViewController {
var markersToDelete = Marker()
func deleteMarkers() {}
}
MapViewController
создается с помощью модального Segue в раскадровке. Я знаю, что я могу получить доступ MainViewController
в AppDelegate.swift
с этим кодом:
var mainViewController = self.window!.rootViewController as! MainViewController
Как я могу сделать то же самое с MapViewController
?
EDIT
На основе комментариев ниже я обновляемое это включить более подробно. Вот что я пытаюсь выполнить:
У меня есть IBActions в обоих контроллерах представлений, которые добавляют элементы маркера к
markersToDelete array. Метод deleteMarkers используется для поиска соответствующих элементов в постоянном хранилище основных данных и их удаления; он вызывается AppDelegate, когда applicationDidEnterBackground или когда applicationWillTerminate.
Именно по этой причине я хочу получить доступ к обоим контроллерам представлений из делегата приложения. Я начинаю думать, что может быть лучший способ сделать это.
Почему downvote? Я новичок в stackoverflow, как это плохой ответ? –
Я думаю, что ваш ответ является единственным правильным до сих пор. Другие создают новые контроллеры представлений, а не те, которые находятся на раскадровке, поэтому они полностью отличаются от контроллера вида на раскадровке. – sylvanaar
@ LeonardoYvens Я обновил свой вопрос, чтобы включить более подробные сведения, чтобы показать вам, что я пытаюсь выполнить , – flightsimmer668