2015-12-11 12 views
6

Sto usando la seguente funzione di CoreFoundationCFPropertyListCreateDeepCopy: per convertire gli oggetti immutabili per mutabili objects.If qualsiasi dell'oggetto è NULL la CFPropertyListCreateDeepCopy ritorno vuota .IS c'è qualche lavoro in giro per questo.CFPropertyListCreateDeepCopy restituisce nil se nessun valore è NULL

self.packageArray = CFBridgingRelease(CFPropertyListCreateDeepCopy(NULL, (CFPropertyListRef)self.packageArray , kCFPropertyListMutableContainersAndLeaves)); 

CFPropertyListCreateDeepCopy fails to process array/dictionary containing NSNull

codice di esempio

NSArray *immutable = @[ @"a", [NSNull null], @"c" ];  
NSMutableArray *mutable = (__bridge 
    id)CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (__bridge 
     CFArrayRef)immutable, kCFPropertyListMutableContainers); 

campione json risposta dal this link

Grazie in anticipo.

+2

È possibile fornire un esempio di codice minimo per questo? – orkoden

risposta

0

Dopo alcune ore di soluzione, ho risolto questo problema in basso.

Basta posizionare sotto la riga quando si converte la risposta dell'API in oggetto JSON.

responseString=[responseString stringByReplacingOccurrencesOfString:@"\":null" withString:@"\":\"\""];//To Handle Null Characters 

//Search for below line in your parsing library and paste above code 
data = [responseString dataUsingEncoding:NSUTF8StringEncoding]; 

Quindi non ci saranno caratteri nulli nel oggetto JSON, quindi nessun problema con l'utilizzo di CFPropertyListCreateDeepCopy.

Saluti !!

Problemi correlati