KVC、KVO

143 阅读1分钟

KVC


KVC底层实现

比如说如下的一行KVC的代码:

[person setValue:@"dahuan" forKey:@"name"];

就会被编译器处理成:

SEL sel = sel_get_uid ("setValue:forKey:");

IMP method = objc_msg_lookup (person->isa,sel);

method(person, sel, @"dahuan", @"name");