歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Objective-C語法之KVO的使用

Objective-C語法之KVO的使用

日期:2017/3/1 10:15:10   编辑:Linux編程

簡介:

上篇我們講到了KVC(見 http://www.linuxidc.com/Linux/2012-07/66456.htm ),這篇我們學習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. @implementation Student
  3. -(void)changeCourseName:(NSString*) newCourseName
  4. {
  5. courseName = newCourseName;
  6. }
  7. @end

實現類把方法實現了。

Copyright © Linux教程網 All Rights Reserved