2014-07-09 2 views
0

새로운 기능. 이미 값/키가있는 배열에 값/키를 추가하려고합니다.NSMutableDictionary에 키/값을 추가 할 때의 문제

itemsArray에는 json이 들어 있으며 나머지 API 호출에서 메서드에 전달 된 매개 변수 인 json 변수에서 파생됩니다.

는 I가 사용하고있는 코드이며 [I의 setObject] 와시 (중단 [__NSCFDictionary의 setObject : forKey :]에있어서 돌연변이 불변 오브젝트

NSMutableDictionary *itemsArray = [json objectForKey:@"items"]; 
for (NSMutableDictionary *i in itemsArray) {  
    [i setObject:@"FirstValue" forKey:@"parents"];      
} 

이 모든해야가 보내

변경 가능한 사전 itemsArray에 값/키를 하드 코딩하면 올바르게 작동합니다. 매개 변수로 전달되는 변수 json을 사용할 때 사용합니다. 나머지 API에 대한 호출에서 가져옵니다. 따라서 itemsArray에 imm가 포함되어있을 가능성이 큽니다. utArray가 변경 가능하더라도 유 젼의 json 객체.

내가 가지고있는 질문은 어떻게 json 개체를 변경할 수 있는지 (그것을 치료할 것이라고 가정) 어떻게 작동할까요? ?

답변

0

itemsArrayNSDictionary이 아니며 NSMutableDictionary이 아닙니다. 자세한 내용은 What is an NSCFDictionary?에 대한 답변을 참조하십시오.

어떻게 json을 만들었습니까? 키 @"items"에 대해 NSMutableDictionary이 포함되어 있는지 확인해야합니다.

0

itemsArray에서 변경 가능한 사전을 만들어야합니다. 예 :

NSMutableDictionary *mutableDictionary = [i mutableCopy]; 

원하는대로 개체를 추가 할 수 있습니다.

관련 문제