KVO与KVC键值监听的机制

 KVC 通过key 来检测value的值

直接贴上代码

  var peo = stu()
        peo.name = "cao"
        //kvc 通过key来访问value
        var name = peo.valueForKey("name") as! NSString
        peo.setValue("kai", forKey: "name")
        print(peo.name!)
        print(name)
     //kvo键值监听的机制

KVO监听机制

建立在KVC之上的的机制
主要功能是检测对象属性的变化
这是一个完善的机制,不需要用户自己设计复杂的观察者模式
对需要观察的属性要在前面加上dynamic关键字

http://www.swiftmi.com/topic/327.html

KVO键值监听机制

各参数的说明:http://kyleduo.com/?p=270

注册监听的机制 用通知栏的方法

首先 广播出消息

  let dataDict = ["userName": self.txtUserName.text!]
      //发送通知
NSNotificationCenter.defaultCenter().postNotificationName("RegisterCompletionNotification", object: nil, userInfo: dataDict)
随后对这个广播出来的消息有兴趣的类 注册监听

  NSNotificationCenter.defaultCenter().addObserver(self, selector: "resigin:", name: "RegisterCompletionNotification", object: nil)
    }
    func resigin(notification:NSNotification) {
        let data:NSDictionary = notification.userInfo!
        let name = data.valueForKey("username") as! NSString
        print("name")
    }



你可能感兴趣的:(KVO与KVC键值监听的机制)