我的故事板中有几个ViewControllers,并且有一个后台线程用于从服务器接收消息,后台线程和ViewControllers在不同的类中。
根据收到的消息,我想将消息传输到指定的ViewController,我曾经使用Handler在Android中执行此操作,但是如何在swift中执行此操作?
答案 0 :(得分:1)
取决于,你有很多选择。你是如何管理你的联系的?
NSNoticationCenter
并将您的视图控制器注册到您将根据服务器答案生成的特定通知,(注意在主线程上发布它们)。好的,如果你需要1. *沟通GCD
块(注意在主线程上调用它们)在主线程上进行调用的建议非常通用,这取决于您的要求,但如果需要更新您的UI,则大多是正确的。
答案 1 :(得分:0)
您可以尝试使用Foundation.NSNotification
答案 2 :(得分:0)
U可以使用Notification
实现此目的。
在您的后台线程中,一旦您收到来自服务器的消息,就像这样发布消息
dispatch_async(dispatch_get_main_queue(), {
NSNotificationCenter.defaultCenter().postNotificationName("NotificationIdentifier", object: nil)
})
并在每个Notification Observer
班级
ViewController
像这样
class A:UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
NSNotificationCenter.defaultCenter().addObserver(self, selector: "UpdateValues", name: "NotificationIdentifier", object: nil)
}
func UpdateValues(){
// put your code
}
}