Frage

(gdb) bt
#0  0x302ac924 in ___TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION___ ()
#1  0x92077e3b in objc_exception_throw ()
#2  0x302d6ffb in -[NSObject doesNotRecognizeSelector:] ()
#3  0x3026e056 in ___forwarding___ ()
#4  0x3024a0a2 in __forwarding_prep_0___ ()
#5  0x00004ae9 in -[GameObject doesTouch:] (self=0xe893a0, _cmd=0x643ee, obj=0xe82e20) at /Users/aaa/Desktop/CPT/Game/Classes/GameObject.m:220
#6  0x00006e05 in -[StaticGrid checkTouchNearest:] (self=0xe82f20, _cmd=0x64ec3, obj=0xe893a0) at /Users/aaa/Desktop/CPT/Game/Classes/StaticGrid.m:62
#7  0x0000a393 in -[EAGLView touchesBegan:withEvent:] (self=0xe8dad0, _cmd=0x3199fa3c, touches=0x632c0b0, event=0xe14590) at /Users/aaa/Desktop/CPT/Game/Classes/EAGLView.m:459
#8  0x30910f33 in -[UIWindow _sendTouchesForEvent:] ()
#9  0x308faecb in -[UIApplication sendEvent:] ()
#10 0x309013e1 in _UIApplicationHandleEvent ()
#11 0x32046375 in PurpleEventCallback ()
#12 0x30245560 in CFRunLoopRunSpecific ()
#13 0x30244628 in CFRunLoopRunInMode ()
#14 0x32044c31 in GSEventRunModal ()
#15 0x32044cf6 in GSEventRun ()
#16 0x309021ee in UIApplicationMain ()
...

Zur Zeit habe ich einen seltenen auftretenden Fehler, die ich kenne nicht die Ursache noch. Ich bin nicht sicher, wo man sehen, so, was ich fragen will ist was die ersten fünf Zeilen (# 0 bis # 4) bedeuten? Ich weiß, dass es behauptet, dass es einige Fehler, aber was sind die Dinge, wie "___forwarding___"?

Wenn Sie einige Kenntnisse in diesem haben, bitte helfen Sie. Vielen Dank.

War es hilfreich?

Lösung

Die Weiterleitung Sachen für uhm ... Weiterleiten von Nachrichten verwendet. Jedes Objekt kann leicht die Nachrichten übermittelt es einige andere Objekte erhält, sehen die hervorragende Tutorial von Scott Stevenson rel="nofollow . Wenn Ihr GameObject eine Nachricht empfängt, nicht versteht, wird versucht, es zu übermitteln. Wenn es implementiert wird keine Weiterleitung wird die doesNotRecognizeSelector Methode aufgerufen und Sie die Ausnahme erhalten.

Ausführliche Beschreibung finden Sie in der Apple-Dokumentation für die NSObject Klasse:

  

Wenn ein Objekt eine Nachricht gesendet wird, für   was es hat keine entsprechenden Verfahren,   das Laufzeitsystem gibt den Empfänger   eine Gelegenheit, um die Nachricht zu delegieren   an einen anderen Empfänger. Es Delegierten die   Nachricht von einem NSInvocation Schaffung   Objekt, das die Nachricht und   Senden des Empfängers ein   forwardInvocation: Nachricht enthält,   dieses NSInvocation Objekt als die   Streit. Der Receiver   forwardInvocation: Verfahren kann dann   Wählen Sie die Nachricht weiterleiten an   eine andere Aufgabe.   (...)   NSObject Implementierung von   forwardInvocation: einfach ruft die   doesNotRecognizeSelector: Methode; es   keine Nachrichten weiterleiten. Wenn also   Sie wählen nicht zu implementieren   forwardInvocation :, Senden   nicht erkannte Nachrichten an Objekte   erhöhen Ausnahmen.

Wie für Ihre Fehler, so scheint es, dass der GameObject eine Nachricht gesendet wird es nicht versteht. Dies kann ein einfacher Tippfehler oder etwas subtiler wie Speicher-Management-Fehler sein, würden Sie uns weitere Informationen geben.

Andere Tipps

Das erste, was ich prüfen würde, ob ein Gameobject -doesTouch hat: oder + doesTouch: Methode. Ich bin nicht sicher, welche __forwarding ... ist. Welche Fehlermeldung haben Sie in dem Konsolenprotokoll sehen?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top