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”。
