KVO

来源:互联网 发布:perl @数组 shift 编辑:程序博客网 时间:2024/04/27 17:55
<span style="font-size:18px;">KVO</span>- (void)viewDidLoad{    [super viewDidLoad];    // Do any additional setup after loading the view.        Movie *movie = [[Movie alloc] init];    /*     注册键值观察(不用的时候一定要注销掉)     参数1:观察者      参数2:观察那个属性      参数3:观察哪些变化      参数4:做传值用          参数3:枚举类型:new:打印修改后的值(在值修改后调用一次)                old:打印修改前的值(在值修改后调用一次)                initial:在值创建或修改就打印一次(当对象创建的时候,属性默认值为nil)                prior:值修改前和修改后各调用一次,并且用notificationIsPrior来表示修改前     */        [movie addObserver:self forKeyPath:@"name" options:NSKeyValueObservingOptionPrior context:NULL];    movie.name = @"崔成杰";    NSLog(@"/////////");    movie.name = @"王刚";        //注销观察    [movie removeObserver:self forKeyPath:@"name"];}//观察方法- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{    NSLog(@"/////%s", __func__);    NSLog(@"//////%@", keyPath);    NSLog(@"+++++++%@", change);} 

0 0