所以我有一個NSDictionary其中一個鍵是一個字典數組。我映射到的類具有匹配的鍵名和setter。可以setValuesForKeysWithDictionary爲我填充子字典嗎?當我嘗試它時,它似乎是用指針垃圾填充了對象,但我是一個新手,所以也許我做錯了什麼。這個功能是否像那樣工作?可以setValuesForKeysWithDictionary使用嵌套字典
3
A
回答
4
我意識到沒有辦法讓setValuesForKeysWithDictionary知道用NSMutableArray填充什麼樣的對象。我最終爲數組屬性創建了一個自定義setter,它可以手動循環傳入的數組元素(NSDictionaries),併爲每個元素調用setValuesForKeysWithDictionary。
下面的代碼:
有一個名爲類型的NSMutableArray,我想它填補對象類型的物品的itemList中財產。 setItemList setter循環遍歷mystery對象數組,將每個NSDictionary轉換爲我的Item類型並將它們添加到一個新數組中。歡迎任何關於如何簡化代碼的意見。
我也想在這裏添加一些邏輯來處理數組已經包含Item對象而不是字典的情況。在actionscript中,您可以在嘗試投射某些東西以查看它是否工作後檢查null,但不確定相應的過程在此處。 [item isMemberOfClass [Item class]]
總是評估爲YES,即使item是NSDictionary。我不明白爲什麼...
- (void) setItemList:(NSMutableArray*)input{
[itemList autorelease];
itemList = [[NSMutableArray alloc] initWithCapacity:input.count];
//loop through the array, creating an Item for for each object in the array
for(int i=0;i<input.count;i++){
Item* item = [Item new];
[item setValuesForKeysWithDictionary:(NSDictionary*)[input objectAtIndex:i]];
[itemList insertObject:item atIndex:i];
}
}
- (NSMutableArray*) itemList{
return itemList;
}
相關問題
- 1. 使用TryGetValue嵌套字典
- 2. 可以在深層嵌套字典上使用TryGetValue嗎?
- 3. 嵌套字典
- 4. 嵌套字典
- 5. 嵌套字典
- 6. python字典:嵌套字典
- 7. Python嵌套字典
- 8. C#嵌套字典
- 9. 的嵌套字典
- 10. Python嵌套字典
- 11. 從嵌套字典
- 12. 嵌套字典C#
- 13. R嵌套字典
- 14. 使用嵌套字典的HTTP請求
- 15. 使用python創建嵌套字典
- 16. 使用RestKit嵌套字典0.2.0
- 17. 使用LINQ查詢嵌套字典
- 18. 在嵌套字典中使用遞歸?
- 19. 如何使用的String.Format嵌套字典
- 20. 替代使用嵌套字典的deepcopy?
- 21. 使用C#對嵌套字典排序
- 22. 使用嵌套數組創建字典
- 23. 嵌套數組或嵌套字典?
- 24. 如何使用嵌套值對嵌套字典進行排序?
- 25. 在C#添加值以嵌套字典
- 26. (parse.com)我可以保存並獲取嵌套數組和/或嵌套字典嗎?
- 27. 格式化字典和嵌套字典
- 28. 比較Python字典和嵌套字典
- 29. 嵌套字典分配錯誤 - 混淆可變字典
- 30. 轉換從嵌套的字典中的值,以字典