2016-08-20 7 views
0

私はJSONを保持しているorderarrayと呼ばれるNSMutableArrayのを持っており、各辞書に次がある:ユーザー入力に基づいて新しいキーと値をインデックスパスに挿入するにはどうすればよいですか?

今、私はインデックスパスでその辞書に新しいキーを追加するユーザーのテキストフィールドの入力に基づいて
{"code":"4783","product":"milk"} 

"toorder" と "toorder.text" ここ

の値の鍵は、私の現在のコードです:

NSMutableDictionary *mutableObject=[NSMutableDictionary dictionaryWithDictionary:[orderarray objectAtIndex:indexPath.row]]; 
[mutableObject setObject:@"toorder.text" forKey:@"toorder"]; 
[orderarray replaceObjectAtIndex:indexPath.row withObject:mutableObject]; 

と私はエラーを取得:

[__NSCFArray replaceObjectAtIndex:withObject:]: mutating method sent to immutable object


私の場合、ファイルがあります

NSMutableArray * orderarray;

そして次に私のm。ファイル:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
     NSData* data = [NSData dataWithContentsOfURL: 
         [NSURL URLWithString: @"urlhere"]]; 

     NSError* error; 

     orderarray = [NSJSONSerialization JSONObjectWithData:data 
                  options:kNilOptions 
                   error:&error]; 

     dispatch_async(dispatch_get_main_queue(), ^{ 

      if (!error) { 

答えて

1

エラーメッセージには、orderarrayは不変です。可変オブジェクトを取得するには、NSJSONReadingMutableContainersオプションを指定する必要があります。

orderarray = [NSJSONSerialization JSONObjectWithData:data 
              options:NSJSONReadingMutableContainers 
               error:&error]; 
+0

Thxしかし、どうすればいいですか? – ASH

+0

'orderarray'を配置するコードを表示してください。 – vadian

+0

私は上記を更新しました – ASH

関連する問題