第七章 Key-Value Coding; Key-Value Observing
1. KVC,KVO
KVC,KVO指的就是xcode内建了一套机制,使得大家可以通过NSString类型的变量名称来获取变量值。
达到的效果如下代码所示。
@interface Student:NSObject
{
NSString *firstName;
}
Student *s = [[Student alloc] init];
[s setValue:@"larry" forKey:@"firstName"]; //通过“firstName”给firstName赋值“larry”
NSString *x = [s valueForKey:@"firstName"]; //通过“firstName”获取firstName变量的值。
setValue: forKey: 和 valueForKey还可以用 firstName(), setFirstName()函数来代替。
更简化的还可以使用 @property(readwrite assign) NSString* firstName 以及 @synthesize firstName 来代替。
三种方式,完成的功能是一样的。
2. Bindings
可以在interface builder中,将控件和类的变量绑定,使得类中变量的变化可以在控件中被操作和显示。具体可以在控件的inspector里设置。