У меня есть классы A, B, C, D (B, C, D - контроллеры представлений). класс A имеет таймер и по истечении таймера. Я хочу, чтобы мои контроллеры получали данные от A и соответственно обновляли.Передача данных между различными классами swift 2
Ниже мой класс А
class MembersStatusUpdateManager{
var timer:NSTimer = NSTimer(timeInterval: 60*5, target: "self", selector: "updateStatuses", userInfo: nil, repeats: true)
var deltaToken:String = ""
var statusData:NSMutableArray? = nil
var deleteage:MembersStatuUpdatedDelegate?
func startTimer(){
NSRunLoop.currentRunLoop().addTimer(timer, forMode: NSRunLoopCommonModes)
}
func updateStatuses(){
//Update the statues
}
}
Я знаю, используя протокол/делегат, я могу отправить данные на классы, но в этом случае у меня есть создать 3 делегатов, по одному для каждого класса, является есть ли другое лучшее решение для этого?
NSNotification? – almas
Да, NSNotificationCenter –
Чтобы использовать NSNotificaiton, вам необходимо убедиться, что контроллеры представлений B, C & D необходимо создать. Например: Если у вас есть иерархия контроллера вида, то B -> C -> D. и прямо сейчас на экране отображается только B. C & D еще не созданы, поэтому они не получат уведомление. – TheAppMentor