跳轉到內容

WebObjects/概述/鍵值編碼

來自華夏公益教科書,開放的書籍,面向開放的世界

本華夏公益教科書的內容已過時,現已移至http://wiki.objectstyle.org/confluence/display/WO/Home

如果您熟悉OGNL,那麼鍵值編碼有點像它。在本文中,我們將鍵值編碼稱為 KVC,以簡化。KVC 也存在於 MacOS-X 附帶的 Cocoa 基礎設施以及 OPENSTEP 基礎設施中。本文將重點介紹 WebObjects 和 java 環境下的 KVC。

概念方面

[編輯 | 編輯原始碼]

考慮以下模型片段;

此模型顯示了許多實體,實體之間的線表示關係。例如,組織實體與名為“workerAccount”的工人存在一對一關係,並且與名為“orgRegions”的“OrgRegion”存在一對多關係。

這裡的“例項”指的是特定的組織。例如,“玉米麵公司”和“Aqua Breweries”可能是組織實體的例項。

組織的例項可以為“address”、“countryIso”、“email”等鍵提供值,並且它們將返回鍵的值。它本質上就像 NSDictionary 或 Map 物件一樣。這是從物件中提取資料的方式。

設定鍵值

[編輯 | 編輯原始碼]

這是實體的例項被要求為鍵“接受”一些值的地方。例如,組織的例項可能會被告知為鍵“email”接受值“foo@foo.co.nz”。這是使用 KVC 將資料載入到物件中的方式。

鍵路徑值

[編輯 | 編輯原始碼]

使用點路徑,可以遍歷關係以訪問其他實體中的資料。例如,如果您有“OrgExpertise”的例項,則可以獲取鍵路徑“organisation.workerAccount.name”的值。這是從互連的網路物件例項中提取資料的方式。

設定鍵路徑值

[編輯 | 編輯原始碼]

使用點路徑,可以獲取互連的網路物件例項中的物件以“接受”一些資料。例如,如果您有“OrgExpertise”的例項,那麼可以獲取該物件以將“Joe Smith”的值“接受”到鍵路徑“organisation.workerAccount.name”。

華夏公益教科書