kvo

来源:互联网 发布:手机版淘宝盗图技巧 编辑:程序博客网 时间:2024/06/03 09:10

 -(void)viewDidLoad{

   self.p = [Personnew];

    self.dog = [HKDognew];

    //注册KVO监听

    [self.dogaddObserver:self.pforKeyPath:@"age"options:NSKeyValueObservingOptionNewcontext:nil];

    //如果通过Connection开启网络请求!那么放在子线程开启的话!默认是开启失败的!!

    //为什么?因为子线程Runloop是挂起所以子线程被回收了!!

    //如果使用connection去异步下载!我们需要手动开启子线程的Runloop!!!

    

    

    //那么URLSession完美解决了这个问题!!!猜猜!它内部封装了对Runloop的操作!!!



    

}


//Person.m

#import "Person.h"

@implementation Person

//监听到objectkeyPath属性变化为change

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context

{

    NSLog(@"监听到%@%@属性变化为%@",object,keyPath,change);

}


@end


原创粉丝点击