美文网首页Swift
swift中的通知中心传值的使用

swift中的通知中心传值的使用

作者: coder小鹏 | 来源:发表于2016-07-17 12:59 被阅读2515次

1、创建通知,最好在viewDidLoad的方法中创建


override func viewDidLoad() {

super.viewDidLoad()

let center = NSNotificationCenter.defaultCenter()//创建通知

center.addObserver(self, selector: #selector(SecondViewController.receiveValue(_:)), name: "passValue", object: nil)//单个值得传递

center.addObserver(self, selector: #selector(SecondViewController.receive(_:)), name: "pass", object: nil)//多个值得传递

}

//接收通知并相应的方法

//单个值得回调方法

func receiveValue(info:NSNotification)  {

print(info.object)

}

//多个值得回调方法

func receive(info:NSNotification)  {

print(info.userInfo)

let dic = info.userInfo as! NSDictionary

print(dic.objectForKey("name"))

print(dic.objectForKey("sex"))

print(dic.objectForKey("age"))

}

2、发送通知


//通知中心传值

//----------单值传递 -------

let center = NSNotificationCenter.defaultCenter()

center.postNotificationName("passValue", object: "value", userInfo: nil)

//-----------多个值得传递-------

let dic :[String : NSObject]  = [

"name":"张三",

"sex" : "男",

"age" : "17"

]

center.postNotificationName("pass", object: nil, userInfo: dic)

3、移除通知,由那个控制器创建由那个控制器移除,谁创建谁移除,最好在deinit方法中移除,如果通知不能及时的移除掉,当下次进入该控制器时会重复创建NSNotificationCenter,在对应方法中发送通知给上一次创建的通知,但是上一个通知所在的控制器已被干掉,所以这时候就会报错


deinit{

//移除所有的通知(在哪里创建的通知,就在哪里移除)

NSNotificationCenter.defaultCenter().removeObserver(self)

//移除指定的通知

 NSNotificationCenter.defaultCenter().removeObserver(self, name: "passValue", object: nil)

NSNotificationCenter.defaultCenter().removeObserver(self, name: "pass", object: nil)

}

相关文章

  • swift中的通知中心传值的使用

    1、创建通知,最好在viewDidLoad的方法中创建 override func viewDidLoad() {...

  • Swift中通知的使用

    发通知。(以这条通知为例,通知名字:gameOverNotification。通知参数:title) 在要监听这则...

  • [AnyHashable:Any]?使用方法

    在swift3.0中,当使用通知传值时,返回的参数,会看到一个这样的类型。即[AnyHashable: Any]。...

  • iOS通知中心传值使用

    主要在一些界面之间跨度大的界面使用比如要从C界面传到A界面这样或者多个地方需要执行一个操作的时候。通知最好是在vi...

  • ios通知使用详解带案例

    iOS中通知 通知中心传值,可以跨越多个页面传值, 一般也是从后面的页面传给前面的页面。 思路: 第三个界面的值传...

  • swift中的通知

    swift3中的通知进行了少许改变,仅此做一下记录发出通知 接收通知 处理消息 一切看上去没什么不同,但是确实有一...

  • Swift中的值类型和参照类型

    Swift中的值类型和参照类型 Swift中的值类型和参照类型

  • Swift5探究:值类型与引用类型

    值类型 在 Swift 中,struct、enum、 tuple 都是值类型。而平时使用的 Int, Double...

  • iOS 通知

    iOS 通知传参使用方法 尽量不要在viewWillDisappear:方法中移除通知 iOS通知传值的使用 1、...

  • Alamofire源码解读系列(三)之通知处理(Notifica

    本篇讲解swift中通知的用法 前言 通知作为传递事件和数据的载体,在使用中是不受限制的。由于忘记移除某个通知的监...

网友评论

    本文标题:swift中的通知中心传值的使用

    本文链接:https://www.haomeiwen.com/subject/auoujttx.html