Objective-C语法之KVO的使用


简介:

上篇我们讲到了KVC(见  ),这篇我们学习KVO,全名为:Key Value Observing,直译为:基于键值的观察者。

那它有什么用呢?KVO主要用于视图交互方面,比如界面的某些数据变化了,界面的显示也跟着需要变化,那就要建立数据和界面的关联。

ObjC中提供的KVO就是解决这种问题的。以下用显示页面观察学生的课程名称变化的例子来说明KVO的使用。

学生类命名为:Student,页面类是:PageView.

下图来自苹果官网,图中的BankObject好比PageView,PersonObject好比Student,

PageView观察Student的变化。

1、添加Student学生类。

.h

  1. #import <Foundation/Foundation.h>   
  2. @interface Student : NSObject  
  3. {  
  4.     NSString *name;  
  5.     NSString *courseName;  
  6. }  
  7. -(void)changeCourseName:(NSString*) newCourseName;  
  8. @end  

类中有name,和课程名称courseName,添加一个可以改变课程名称的方法changeCourseName。一会用来做对比,看直接改变课程名称时会不会有回调。

实现文件.m

  1. #import "Student.h"   
  2.   
  3. @implementation Student  
  4. -(void)changeCourseName:(NSString*) newCourseName  
  5. {  
  6.     courseName = newCourseName;  
  7. }  
  8. @end  

实现类把方法实现了。

  • 1
  • 2
  • 3
  • 4
  • 下一页

相关内容