1 //KVC(Key Value Coding) 2 //KVC的作用給某個(gè)對象的屬性賦值,和點(diǎn)語法中的賦值的作用相同 3 Student *stu=[[Student alloc]init]; 4 [stu setValue:@"xiaowang" forKey:@"name"]; 5 NSLog(@"%@",stu.name); 6 7 8 //KVO(Key Value Observer) 9 //給學(xué)生對象添加觀察者10 //第一個(gè)參數(shù)為誰去觀察學(xué)生11 //第二個(gè)參數(shù)為觀察學(xué)生的那個(gè)屬性12 //第三個(gè)參數(shù)為觀察方式13 14 //實(shí)例化學(xué)生對象15 stu=[[Student alloc]init];16 [stu setValue:@"zhangsan" forKey:@"name"];17 [stu addObserver:self forKeyPath:@"name" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];18 //從新設(shè)置學(xué)生對象的name屬性為xiaowang19 [stu setValue:@"xiaowang" forKey:@"name"];
//觀察者發(fā)現(xiàn)被觀察的屬性發(fā)生改變時(shí)調(diào)用該方法,誰是觀察者就寫在誰的.m里-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{ NSLog(@"new:%@",[change objectForKey:@"new"]); NSLog(@"old:%@",[change objectForKey:@"old"]);}
新聞熱點(diǎn)
疑難解答
圖片精選