【发布时间】:2015-11-18 06:17:25
【问题描述】:
我有一个 A、B、C、D 类(B、C、D 是视图控制器)。 A 类有一个计时器,并且计时器已过,我希望我的控制器从 A 接收数据并进行相应更新。
下面是我的A班
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 个委托,每个类一个,还有其他更好的解决方案吗?
【问题讨论】:
-
是的,NSNotificationCenter
-
要使用 NSNotificaiton,您需要确保视图控制器 B、C 和 D 需要被实例化。例如:如果您有一个视图控制器层次结构,例如 B -> C -> D 。现在只有 B 在屏幕上。 C & D 尚未创建,因此他们不会收到通知。
-
感谢您指引我正确的方向 NSNoficationCenter 是最适合这种情况的解决方案。