自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳細(xì)了解Cocoa中KVO機(jī)制是什么

移動(dòng)開發(fā) iOS
本文介紹的是詳細(xì)了解Cocoa中KVO機(jī)制是什么,主要是來(lái)了解KVO機(jī)制,來(lái)看詳細(xì)內(nèi)容。

詳細(xì)了解CocoaKVO機(jī)制是什么是本文要介紹的內(nèi)容,通過(guò)本文你可以方便有很好的去學(xué)習(xí)cocoa,不多說(shuō),我們來(lái)看詳細(xì)內(nèi)容。

iPhone開發(fā)最基本的就是掌握蘋果Cocoa這個(gè)面向?qū)ο箝_發(fā)的基本框架.本文主要簡(jiǎn)單介紹CocoaKVO機(jī)制的概念及用法.
    
問(wèn):KVO是一個(gè)怎么樣的Cocoa機(jī)制?

答:Kvo(Key Value Coding)是cocoa中用來(lái)設(shè)值或取值的協(xié)議(NSKeyValueCoding),跟java的ejb有點(diǎn)類似。都是通過(guò)對(duì)變量和函數(shù)名進(jìn)行規(guī)范達(dá)到方便設(shè)置類成員值的目的.它是Cocoa的一個(gè)重要機(jī)制,它有點(diǎn)類似于Notification,但是,它提供了觀察某一屬性變化的方法,而Notification需要一個(gè)發(fā)送notification的對(duì)象,這樣KVO就比Notification極大的簡(jiǎn)化了代碼。這種觀察-被觀察模型適用于這樣的情況,比方說(shuō)根據(jù)A(數(shù)據(jù)類)的某個(gè)屬性值變化,B(view類)中的某個(gè)屬性做出相應(yīng)變化。對(duì)于推崇MVC的cocoa而言,kvo應(yīng)用價(jià)值很高。

kvo的使用方法:

1、注冊(cè): -(void)addObserver:(NSObject *)anObserver forKeyPath:(NSString *)keyPath options:(NSKeyValueObservingOptions)options context:(void *)context keyPath就是要觀察的屬性值,options給你觀察鍵值變化的選擇,而context方便傳輸你需要的數(shù)據(jù)(注意這是一個(gè)void型)

2、實(shí)現(xiàn)變化方法:

 -(void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context change里存儲(chǔ)了一些變化的數(shù)據(jù),比如變化前的數(shù)據(jù),變化后的數(shù)據(jù);如果注冊(cè)時(shí)context不為空,這里context就能接收到。是不是很簡(jiǎn)單?kvo的邏輯非常清晰,實(shí)現(xiàn)步驟簡(jiǎn)單。
 
小結(jié):詳細(xì)了解CocoaKVO機(jī)制是什么的內(nèi)容介紹完了,通過(guò)本文的學(xué)習(xí)是不是以及對(duì)KVO有了一定的基礎(chǔ)了解。好吧!最后希望本文對(duì)你有所幫助!

責(zé)任編輯:zhaolei 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-07 11:21:04

JSP隱含對(duì)象

2009-07-06 16:05:50

JSP特點(diǎn)

2022-03-08 08:44:13

偏向鎖Java內(nèi)置鎖

2021-04-13 09:07:33

InnoDB內(nèi)存結(jié)構(gòu)

2010-04-16 11:08:23

2010-11-16 09:55:12

Oracle分區(qū)索引

2021-07-22 06:08:43

SQL.js關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)

2011-08-25 15:10:49

LUAWindows環(huán)境配置

2011-07-28 11:12:25

Cocoa 內(nèi)存

2011-07-01 14:34:02

Thread Affinity 信號(hào)

2010-10-25 11:51:05

Oracle單行字符串

2010-10-21 15:26:35

SQL Server字

2010-11-12 14:29:46

Sql Server創(chuàng)

2018-11-27 15:55:21

TCP通訊協(xié)議

2011-07-18 15:08:34

2011-07-28 17:46:54

IOS Cocoa 用戶界面

2009-09-25 17:03:29

Hibernate是什

2011-08-08 09:51:52

Cocoa 框架

2009-06-15 10:11:31

2011-07-13 16:14:51

DLL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)