• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

swift_通知的使用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

import UIKit

class ViewController: UIViewController {
//定义通知的名字,Notification 的“名字”不再是字符串类型,而是 Notification.Name 类型
let myNotification = Notification.Name(rawValue:"MyNotification")
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
let nc = NotificationCenter.default
//发送通知
nc.post(name:myNotification,
object: nil,
userInfo:["message":"Hello there!", "date":Date()])
}
override func viewDidLoad() {
super.viewDidLoad()
let nc = NotificationCenter.default
//添加通知,通知处理尽量
nc.addObserver(forName:myNotification, object:nil, queue:nil, using:catchNotification)

}
func catchNotification(notification:Notification) -> Void {
print("Catch notification")
//guard语句和if语句有点类似,都是根据其关键字之后的表达式的布尔值决定下一步执行什么。但与if语句不同的是,guard语句只会有一个代码块,不像if语句可以if else多个代码块。
//userInfo变量的作用域是在整个方法体内
//guard方法可以自动解包
guard let userInfo = notification.userInfo,
let message = userInfo["message"] ,
let date = userInfo["date"] else {
print("No userInfo found in notification")
return
}

//提醒框
let alert = UIAlertController(title: "Notification!",
message:"\(message) received at \(date)",
preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: nil))
alert.addAction(UIAlertAction(title: "Cancel", style: UIAlertActionStyle.cancel, handler: nil))
self.present(alert, animated: true, completion: nil)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}


}


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap