[英]NSDictionary into 1 NSMutableArray
是否可以使用2個NSDictionaries並填充1個NSMutableArray? 所以可以說我有這種情況:
dict1 =鍵/值:id /名字
dict2 =鍵/值:id /姓氏
(這些是從數據庫查詢填充到服務器的)
現在,我想將字典合並到NSMutableArray的“用戶”對象中。 用戶對象具有這些變量,映射到上面的2個NSDict對象。 因此:id,firstname,lastname(所有都是NSString)
我嘗試了各種事情。
問題如下,當我提取NSDictionary鍵/值(使用NSEnumerator-但也嘗試使用較慢的for循環)並將結果對象添加到mutablearray中時,數組內對象的值被初始化為同一對象對於所有先前的值。 例:
id:1-名字:John-姓氏:Brown
id:2-名字:Mike-姓氏:藍色
id:3-名:Mary-姓:White
當我完成枚舉並到達循環的結尾時,我的數組看起來像這樣(所有對象都是相同的)
id:3-名:Mary-姓:White
id:3-名:Mary-姓:White
id:3-名:Mary-姓:White
有什么建議嗎?
不確定您的問題是什么,代碼片段可能會有所幫助,但是我將按照以下方式處理:
for (NSString *key in [dict1 allKeys]) {
User *u = [[User alloc] initWithId:key
firstName:[dict1 objectForKey:key]
lastName:[dict2 objectForKey:key]];
[users addObject:u];
[u release];
}
我不會將NSEnumerator
用於對象本身,因為它們的順序沒有保證。
如果這已經是您要執行的操作,則可能需要使用User init
方法查看一些奇怪的事情。 實際上,您是否在重復使用同一對象?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.