2012-04-04 2 views
7

The ErrorsErrori sul JSONKit implementare

Al momento l'importazione del JSONKit.h e JSONKit.m file nel mio progetto, ottengo i seguenti errori. Ho sfogliato e navigato ma nessuno sembra aver riscontrato questi problemi?

Tutto ho fatto è stato di importazione dei file e costruire e quindi ottengo questo

E 'qualcosa che ho dimenticato di importare o ... ??????

risposta

15

È possibile disabilitare ARC (conteggio automatico dei riferimenti) nei file JSONKit.

Generalmente passo è:

  1. Vai alle impostazioni di progetto, in fasi di creazione> compilare i sorgenti
  2. Selezionare i file che si desidera ARC disabili e aggiungere flag di compilazione -fno-objc-arco. È possibile impostare i flag per più file in uno scatto selezionando i file e premendo il tasto "Invio".

Fare riferimento a questo post: iOS 5 Best Practice (Release/retain?) per ulteriori dettagli.

Spero che aiuti.

Modifica

Dopo la discussione, abbiamo anche alcune altre opzioni per risolvere il problema. Ad esempio, è possibile convertire JSONKit in ARC compatibile. Ma secondo la dichiarazione di Mike Weller, sarà molto difficile convertire perché JSONKit usa malloc per gestire la memoria.

Penso che usare il flag del compilatore -fno-objc-arc sia un modo conveniente e a basso rischio per risolvere il problema.

+0

Penso che questa sia solo una risposta parzialmente corretta. –

+1

@ParthBhatt Sì, sono d'accordo. Ci devono essere altri metodi per risolvere questo problema. Ad esempio, possiamo modificare il JSONKit con qualche altro json lib che supporta GCD. Usare le bandiere del compilatore -fno-objc-arc è un modo a basso rischio per risolvere questo problema secondo me. – tangqiaoboy

1

La risposta di tangqiaoboy risolverà tali errori ma è anche possibile considerare l'utilizzo della classe NSJSONSerialization. Rende davvero facile convertire NSDictionarys e NSArrays in JSON e viceversa.

Buona fortuna!

+0

Per quanto ne so, 'NSJSONSerialization' esiste solo in ios5. Se vogliamo supportare ios4, dobbiamo usare la lib di terza parte. – tangqiaoboy

-2

È possibile convertire il progetto in ARC compatibile, seguendo i passi

Vai Edit menu -> Refactor -> Convert to Objective-C ARC...

O Se si desidera utilizzare do notARC nel progetto corrente poi seguire tangqiaoboy 's passi.

+1

JSONKit non funziona con ARC a causa della sua gestione della memoria personalizzata. –

+0

@MikeWeller: Perché non possiamo usare il codice Refactor usando ARC? –

+0

@MikeWeller: Attualmente sto usando JSONKit con ARC senza problemi ?? Non penso che tu abbia mai provato JSONKit con ARC !! – Devang