Pregunta

(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 ()
...

Actualmente tengo un error de occuring raro que no sé la causa todavía. No estoy seguro de que a la vista, así que lo que quiero preguntar es ¿Qué hacer Las primeras cinco líneas (# 0 a # 4) significan? Sé que afirma que hay algunos errores, pero ¿Cuáles son esas cosas como "___forwarding___"?

Si usted tiene algún conocimiento de esto, por favor ayuda. Muchas gracias.

¿Fue útil?

Solución

Las cosas reenvío se utiliza para uhm ... reenviar mensajes. Cada objeto puede reenviar fácilmente los mensajes que recibe a algunos otros objetos, ver el excelente por Scott Stevenson . Cuando su GameObject recibe un mensaje que no entiende, que intenta reenviarlo. Si se implementa ninguna expedición, el método doesNotRecognizeSelector se llama y se obtiene la excepción.

Descripción detallada se puede encontrar en el documentación de Apple para la clase NSObject:

  

Cuando un objeto se envía un mensaje para   el que no tiene método correspondiente,   el sistema de tiempo de ejecución da el receptor   la oportunidad de delegar el mensaje   a otro receptor. Delega las   mensaje, creando un NSInvocation   objeto que representa el mensaje y   el envío de un receptor   forwardInvocation: mensaje que contiene   este objeto NSInvocation como el   argumento. del receptor   forwardInvocation: método puede entonces   optar por reenviar el mensaje a   otro objeto.   (...)   implementación de la NSObject   forwardInvocation: simplemente invoca el   doesNotRecognizeSelector: método; eso   no envía ningún mensaje. Por lo tanto, si   decide no aplicar   forwardInvocation :, enviar   mensajes no reconocidos a los objetos se   lanzar excepciones.

En cuanto a su error, parece que el GameObject es enviado algún mensaje que no entiende. Esto puede ser un simple error tipográfico o algo más sutil, como un error de gestión de memoria, se tendrían que darnos más información.

Otros consejos

Lo primero que me gustaría comprobar es si tiene un GameObject -doesTouch: o + doesTouch: método. No estoy seguro de lo que es ... __forwarding. ¿Qué mensaje de error hace que se ve en el registro de la consola?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top