KVC--字典轉模型

object-c

方法-,聲明一個Book類和一個Author類,在Book類中有一個author屬性。

分別聲明-(id)initWithDict:(NSDictionary*)dict;和+(id)authWithDict:(NSDictionary*)dict;方法。

在Book類中和Author類的.m文件中實現-(id)initWithDict:(NSDictionary*)dict;和+(id)authWithDict:(NSDictionary*)dict;方法

測試結果

方法二、使用- (void)setValuesForKeysWithDictionary:(NSDictionary*)keyedValues;批量賦值,在Book .h的頭文件中可以這樣聲明-(void)setValue:(id)value forUndefinedKey:(NSString *)key;方法,并在.m文件里實現。

為了實現對嵌套json的處理,我們需要重寫-(void)setValue:(id)value forKey:(NSString *)key方法,并且實現-(void)setValue:(id)value forUndefinedKey:(NSString *)key方法,這樣當json中鍵值對多余模型類中的屬性時不至于直接crash

測試

swift實現

定義一個Student和Book類,Student類中有一個book屬性,在book類中實現了override func setValue(value: AnyObject?, forUndefinedKey key: String)方法,由于demo比較簡單直接上代碼

測試

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容