У меня есть установка с одним контроллером основного вида (класс MainViewController
) и несколькими контроллерами представления одного и того же класса (класс ChildViewController
), которые реализуют протокол и устанавливают контроллер основного вида в качестве делегата. Контроллер основного представления также имеет функцию протокола, реализованную для предоставления данных EventKit контроллерам дочернего представления.
Теперь все экземпляры ChildViewController
настроены в одной и той же функции, и как только они инициированы и делегат настроен, они начинают вызывать функцию делегата EventKit, предоставляющую данные (MainViewController
).
Может ли это быть проблемой, что несколько контроллеров представления вызывают одну и ту же функцию в контроллере основного представления практически в одно и то же время? Было бы неплохо вызвать эту функцию асинхронно с
DispatchQueue.main.async {
// call function from delegate
}