KVC 是鍵值編碼,一個非正式的 Protocol ,提供一種機制來間接訪問對象屬性,KVO 就是基于 KVC 實現的關鍵技術之一
- 在字典數組轉模型數組時,使用這個setValuesForKeysWithDictionary,不用自己一一的給對象賦值而根據匹配類中與字典key同名的屬性,并賦值給屬性從而能預防自己匹配key 錯誤和減少代碼代碼量。
JSON 獲取的數據
- 執行完setValuesForKeysWithDictionary這個方法后只要對象中都包含了這些鍵值都有值了
屬性
-
但注意如果JSON里面的id和屬性(模型屬性)里面的id沒有一一對應,我現在注釋掉一個屬性,再運行程序
注釋掉一個屬性
-
控制臺就是給我們報這樣的錯誤:
程序崩潰
-
直接導致程序崩潰,解決方法就是,實現一個方法setValue:forUndefinedKey:
setValue:forUndefinedKey: 過濾掉給不存在的鍵值賦值,運行程序就不會崩潰了
輸出過濾掉給不存在的鍵值賦值