簡體   English   中英

NSDictionary轉換為1 NSMutableArray

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM