2012-04-18 7 views
8

ho questo messaggio durante il debug mio app:Classe _NSZombie__GEOTileKeyWrapper è implementato in entrambi ?? e ??. Uno dei due sarà usato. Quale è indefinito

Classe NSZombie _GEOTileKeyWrapper è implementato in entrambi ?? e ??. Uno dei due sarà usato. Quale è indefinito.

Sai cos'è questo? E come ripararlo?

+0

ho colpito questo codice multi-threaded pesante. Sto iniziando 50 thread come parte di un test. Sospetto che il runtime abbia qualche problema con gli zombi in quel caso. Nella maggior parte dei casi questo è benigno, ma ho osservato un deadlock durante il drenaggio dei pool di autorelease in quei thread. Se non influisce sul tuo codice, puoi ignorarlo. –

risposta

10

Questo succede quando si hanno due implementazioni della stessa classe e il runtime Obj-c non è in grado di decidere quale usare ... puoi riferirti a questo grande answer di Justin .. ci sono alcuni ragazzi davvero fantastici nello stack overflow .. non dimenticare di votare la sua risposta se ti aiuta .. felice codifica: D

1

Puoi ignorare questo particolare messaggio.

La ragione per cui si può ignorare, è perché si dice:

Classe NSZombie_ ....

Il che significa che l'oggetto a cui il messaggio si riferisce è un manichino oggetto creato da Xcode Diagnostics. Maggiori informazioni su Zombies here. Il messaggio non dovrebbe apparire se si disabilita Zombie Objects nelle opzioni di diagnostica dell'ambiente.

enter image description here