문제

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

현재 나는 아직 원인을 모르는 드문 오류가 있습니다. 어디를 볼지 잘 모르겠으므로 내가 묻고 싶은 것은 처음 5 줄 ( #0 ~ #4)은 무엇을 의미합니까? 나는 몇 가지 오류가 있다고 주장하지만 그와 같은 것은 무엇입니까?___forwarding___"?

이에 대한 지식이 있으면 도와주세요. 매우 감사합니다.

도움이 되었습니까?

해결책

전달 물건이 사용됩니다 음… 전달 메시지. 각 객체는 수신 한 메시지를 다른 객체로 쉽게 전달할 수 있습니다. Scott Stevenson의 튜토리얼. 당신의 GameObject 이해하지 못하는 메시지를 받고 전달하려고합니다. 전달이 구현되지 않은 경우 doesNotRecognizeSelector 메소드가 호출되고 예외가됩니다.

자세한 설명은 다음에 있습니다 사과 문서NSObject 수업:

객체에 해당 메소드가없는 메시지가 전송되면 런타임 시스템은 수신기에게 메시지를 다른 수신기에 위임 할 수있는 기회를 제공합니다. 메시지를 나타내는 nsinvocation 객체를 만들고 수신기를 전방 invocation :이 nsinvocation 객체를 포함하는 메시지를 인수로 전송하여 메시지를 위임합니다. 수신기의 ForwardInvocation : 메소드는 메시지를 다른 객체로 전달할 수 있습니다. (…) nsObject의 ForwardInvocation 구현 : 단순히 DOSERCENGICESELECTOR : Method; 메시지를 전달하지 않습니다. 따라서 ForwardInvocation :을 구현하지 않기로 선택하면 인식 할 수없는 메시지를 객체에 보내면 예외가 발생합니다.

당신의 오류에 관해서는 GameObject 이해하지 못하는 메시지를 전송합니다. 이것은 간단한 오타 또는 메모리 관리 오류와 같은 더 미묘한 것일 수 있으므로 더 많은 정보를 제공해야합니다.

다른 팁

가장 먼저 확인해야 할 것은 gameObject에 -doestouch : 또는 +doestouch : method가 있는지 여부입니다. __forward가 무엇인지 잘 모르겠습니다. 콘솔 로그에 어떤 오류 메시지가 표시됩니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top