尽管swift作为一门新语言,但还保留了许多OC的机制,使得swift和OC更好的融合在一起。如果没有OC基础的先GOOGLE一下。
如:KVO,DELEGATE,NOTIFICATION。
详见DEMO。
- importFoundation
- @objc//需要打开objc标识,否则@optional编译出错
- protocolkvoDemoDelegate{
- funcwillDoSomething()
- @optionalfuncdidDoSomething()//可选实现,
- }
- letntfname="test_notification"
- classkvoDemo:NSObject//不写NSObject默认就是从NSObject来的
- {
- vardelegate:kvoDemoDelegate!
- varpresult:Double=0.0
- varresult:Double{
- get{
- returnpresult;
- }
- set{
- self.presult=newValue
- init()
- funcdoSomething()
- {
- ifletyet=self.delegate?
- delegate!.willDoSomething()
- for_in1..5
- println("i'mdoingnow,don'ttouchme,please.")
- delegate!.didDoSomething!()
- funcnotificationPost()
- letntf=NSNotificationCenter.defaultCenter()
- ntf.postNotificationName(ntfname,object:nil,userInfo:nil)
- deinit
- }