2013-07-23 17 views
5

Ho usato questo in diversi progetti ...NSJSONSerialization con Opzioni No

[NSJSONSerialization dataWithJSONObject:someObject options:0 error:nil] 

ma non so come specificare no options. Questo è sia per leggere che per scrivere.

Ho visto un esempio in cui la persona aveva utilizzato un valore costante anziché solo 0 ma non riesco a trovarlo.

C'è un modo per specificare correttamente nessuna opzione?

AppCode visualizza un avviso se utilizzo il codice precedente.

+1

Un valore di '0' significa" nessuna opzione ". Non esiste alcun valore enum specifico fornito da Apple per "nessuna opzione". – rmaddy

+0

Ho pensato che fosse il caso ma quando l'ho usato in AppCode non mi piaceva che non usassi l'enum corretto. Vivrò con l'avvertimento, grazie. – Fogmeister

+0

@rmaddy Esiste, si chiama 'kNilOptions'. –

risposta

13

È possibile utilizzare kNilOptions. Ray Wenderlich lo usa nel suo iOS JSON tutorial e l'ho usato senza problemi.

kNilOptions è definita MacTypes.h:

enum { 
    kNilOptions = 0 
}; 

Da NSJSONReadingOptions è un'enumerazione, kNilOptions è adatto, e come sottolinea Ray Wenderlich nel tutorial, è più descrittivo che semplicemente 0:

NSDictionary *dictionary = [NSJSONSerialization dataWithJSONObject:someObject 
                  options:kNilOptions 
                  error:nil]; 
2

Le opzioni 0 vanno bene, è quello che uso comunque in Xcode. Non si lamenta.

Problemi correlati