KVO再iOS编程中被广泛使用,使用方法简单明了,功能却非常强大,再swift当中使用KVO和objective-c中使用KVO是一样的步骤
}
1、建立要被监听的对象
2、为监听对象增加kvo监听操作,并继承observeValueForKeyPath方法,用来获取改变后的值
3、利用removeObserver方法移除KVO,否则会在某些情况下可能引起Crash问题
eg:
swift-code
class mykvo:NSObject{
var name:String?
var age:Int?
override func init{
name=“xxx”
age=20
}
}
class listenClass:UIViewController{
let mkv=mykvo();
override
func viewDidLoad(){
super.viewDidLoad();
//为此对象添加observer
mkv.addObserver(self,forKeyPath:”name”,
options:NSKeyValueObservingOptions.New|NSKeyValueObservingOptions.Old,
context: nil);
}
//一旦mkv内的name属性发送变化,便可以触发此方法
override func observeValueForKeyPath(keyPath: String!, ofObject object: AnyObject!, change: [NSObject : AnyObject]!, context: UnsafeMutablePointer<Void>) {
NSLog("name is changed \(cla.name!)"
);}
}