- (void)viewDidLoad {
[super viewDidLoad];
self.p1 = [[Person alloc] init];
self.p2 = [[Person alloc] init];
self.p1.name = @"Tom";
NSLog(@"before kvo --- p1: %p p2: %p", [self.p1 methodForSelector:@selector(setName:)], [self.p2 methodForSelector:@selector(setName:)]);
[self.p2 addObserver:self forKeyPath:@"name" options:NSKeyValueObservingOptionNew context:nil];
NSLog(@" after kvo --- p1: %p p2: %p", [self.p1 methodForSelector:@selector(setName:)], [self.p2 methodForSelector:@selector(setName:)]);
self.p2.name = @"Jerry";
}
// 输出
before kvo --- p1: 0x10ccee670 p2: 0x10ccee670
after kvo --- p1: 0x10ccee670 p2: 0x7fff258e454b
IMP
最新推荐文章于 2021-05-19 18:43:01 发布