hashable
? ----> number
一个key,一个value,就是hasha 哈西结构
KVC 键值编码
key value coding
[animal setValue:@"ssss" forKey:@"DNA"]; //赋值
NSString *DNA = (NSString*)[animal valueForKey:@"DNA"];//取值
NSLog(@"DNA = %@",DNA);
Dog *dog = [Dog new];
// [animal setValue:dog forKeyPath:@"dog"];
[animal setValue:dog forKey:@"dog"];
[animal setValue:@"--dogName--" forKeyPath:@"dog.dogName"];
//往更深层的走,就要用到setKeyPath
NSString *dogName = [animal valueForKeyPath:@"dog.dogName"];
NSLog(@"dogName = %@",dogName);
KVO 键值观察
1.添加
2.回调
3.移除
pod 也可以搜索下block KVO
必须知道什么是KVC,KVO。去面试一般都会问。