In particolare, questo problema mi è venuto quando ho fatto una richiesta con AFNeworking con JSONkit e ho ricevuto un JSON (id) con diversi array e dizionari annidati.Qual è l'approccio migliore per convertire oggetti immutabili in oggetti mutabili (ricorsivi)?
Se io non voglio modificare i dati, non ho alcun problema:
self.myNSArray = [JSON objectForKey:@"result"];
Ma se voglio modificare i dati che devono memorizzare in una variabile mutabile:
self.myNSMutableArray = [[JSON objectForKey:@"result"] mutableCopy];
L'ultimo non converte gli array nidificati o dizionari ai dati mutabile; funziona solo per il primo livello.
L'unico modo che ho trovato è su questo collegamento recursive mutable objects; ma non so se c'è un modo migliore per risolvere questo tipo di problema.
Grazie in anticipo.
Funziona come un fascino. Grazie! – martinezdelariva
L'equivalente ARC sembra essere 'CFBridgingRelease (CFPropertyListCreateDeepCopy (NULL, (__bridge CFPropertyListRef) (immutableArray), kCFPropertyListMutableContainersAndLeaves))' – brainjam
@omz Se questo lavoro per i dizionari, lo sai? Non riesco a farlo convertire. –