2010-09-20 1 views
0

Привета У меня возникают проблемы при копировании данных из одного NSDictionary к другому я использовалПроблемы при копировании данных из одного NSDictionary других

[dicForFoodproduct_fromWeb initWithDictionary:dictforfoodproduct]; 

Здесь он завершает и говорит: «непризнанный Selecter послал к примеру ... «Я получаю 5 ключевых значений в dictForFoodProduct, но не могу скопировать эти значения ключей в dicForFoodProduct_fromWeb.

ответ

2
NSDictionary *newDictionary = [[NSDictionary alloc] initWithDictionary:otherDictionary]; 
+2

mrugen: Никогда не отправляйте сообщение инициализации или initWithWhatever: 'в уже инициализированный экземпляр. Это всегда вызывает другие проблемы - возможно, очевидные, возможно, тонкие, но всегда достаточно серьезные, что вы никогда не должны этого делать. Вы должны только инициализировать неинициализированный экземпляр, т. Е. Один, только что возвращенный 'alloc' или' allocWithZone: '. –

+0

yan thansk для ваших входов, позаботится об этом – mrugen

+0

Да, извините за отсутствие дополнительного контекста в моем первоначальном ответе. Комментарии Питера - это слова, чтобы жить/кодировать. Если у вас есть изменяемый словарь, существуют другие методы для замены содержимого другим словарем. – Nick

0

[dicForFoodproduct_fromWeb addEntriesFromDictionary: dictforfoodproduct]

Это заменит существующие значения со значениями dictforfoodproduct. Единственное отличие от использования init заключается в том, что он не будет удалять значения, отсутствующие в dictforfoodproduct, но которые находятся в dicForFoodproduct_fromWeb.