NSLog(@"class-withOutKVO: %@ \n", object_getClass(_obj));
NSLog(@"setterAdress-withOutKVO: %p \n", [_obj methodForSelector:@selector(setAName:)])
[_obj addObserver:self forKeyPath:@"aName" options:NSKeyValueObservingOptionOld|NSKeyValueObservingOptionNew context:(__bridge void *)(self)];
NSLog(@"class-addKVO: %@ \n", object_getClass(_obj));
NSLog(@"setterAdress-addKVO: %p \n", [_obj methodForSelector:@selector(setAName:)])
[_obj removeObserver:self forKeyPath:@"aName"];
NSLog(@"class-removeKVO: %@", object_getClass(_obj));
NSLog(@"setterAdress-removeKVO: %p \n", [_obj methodForSelector:@selector(setAName:)])
class-withOutKVO: TestObj
setterAdress-withOutKVO: 0x10e819030
class-addKVO: NSKVONotifying_TestObj
setterAdress-addKVO: 0x10f050efe
class-removeKVO: TestObj
setterAdress-removeKVO: 0x10e819030