实时将数据从 AppDelegate 传递到 ViewController (iOS) Swift 2
Pass data from AppDelegate to ViewController in realTime (iOS) Swift 2
我想使用 Apple 通知创建聊天,我想在收到通知时将数据传递到我的 Table 视图以更新它
我正在尝试做一个示例来测试如何将数据表单应用程序委托传递给 viewController 但它不起作用任何人都可以帮忙吗
我的ViewController代码
class ViewController: UIViewController {
var fileDirectory: String = String()
let delegate = UIApplication.sharedApplication().delegate as! AppDelegate
override func viewDidLoad() {
super.viewDidLoad()
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.refreshView(_:)), name: "refreshView", object: nil)
}
func refreshView(notification: NSNotification) {
fileDirectory = delegate.filePath
print("tester")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
我想从 appDelegate 访问 refreshView 函数
您在 viewDidLoad() ViewController 中写下一行是正确的
NotificationCenter.default.addObserver(self, selector: #selector(ViewController.refreshView), name: "AnyThingYouWant", object: nil)
}
但是在你想调用ViewController.refreshView方法的appDelegate中添加这一行
NotificationCenter.default.post(name: "AnyThingYouWant", object: self)
}
如果你想在收到通知时调用 refreshView 方法,请在 didReceiveLocal/RemoteNotification 方法
的上面写上一行
我想使用 Apple 通知创建聊天,我想在收到通知时将数据传递到我的 Table 视图以更新它 我正在尝试做一个示例来测试如何将数据表单应用程序委托传递给 viewController 但它不起作用任何人都可以帮忙吗 我的ViewController代码
class ViewController: UIViewController {
var fileDirectory: String = String()
let delegate = UIApplication.sharedApplication().delegate as! AppDelegate
override func viewDidLoad() {
super.viewDidLoad()
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.refreshView(_:)), name: "refreshView", object: nil)
}
func refreshView(notification: NSNotification) {
fileDirectory = delegate.filePath
print("tester")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
我想从 appDelegate 访问 refreshView 函数
您在 viewDidLoad() ViewController 中写下一行是正确的
NotificationCenter.default.addObserver(self, selector: #selector(ViewController.refreshView), name: "AnyThingYouWant", object: nil)
}
但是在你想调用ViewController.refreshView方法的appDelegate中添加这一行
NotificationCenter.default.post(name: "AnyThingYouWant", object: self)
}
如果你想在收到通知时调用 refreshView 方法,请在 didReceiveLocal/RemoteNotification 方法
的上面写上一行