
146
|
第九章
雖然 iCloud 提供方法讓你把檔案和檔案夾儲存在雲端,但你也必須瞭解
如何將文件呈送給使用者。本章僅說明儲存資料的機制;要更仔細地瞭解
如何在 OS X 和 iOS 上撰寫奠基於文件(document-based)的應用程
式,請參閱第 12 章。
鍵值編程
Cocoa 提供一種稱作鍵值編程(key-value coding)的功能,讓你透過名稱來設定及擷取
物件的值,而非透過明確地呼叫合適的方法。只要你的類別根據一些簡單的規則來命名
你的特性與方法,你就能夠利用字串來參照類別裡的資料,而不是透過方法呼叫。這項
功能被 Cocoa 的其他幾個部分充分運用,其中最值得注意的就是 Core Data。
讓我們假設一種狀況,你有一支應用程式從某處(如網路)擷取產品相關資訊,這支應
用程式以下面的類別描述每一項產品︰
@interface Product : NSObject
@property (strong) NSString* productName;
@property (assign) float price;
@property (strong) NSString* stockCode;
@property (assign) int numberInStock;
@end
應用程式接受
NSDictionary
,接著必須將它轉變成
Product
類別的實例,處理方法之一
如下︰
- (Product*) productWithDictionary:(NSDictionary*)dictionary ...