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

目前我有一个难得发生的错误我不知道的原因。我不知道在哪里看,那么我想问的是 什么的第一个五年行(#0#4)的意思吗? 我知道这要求有一些错误,但是那些是什么东西像"___forwarding___"?

如果你有一些知识在此,请帮助。非常感谢你。

有帮助吗?

解决方案

转发的东西是用于 嗯... 转发消息。每个对象可以很容易地转发消息接收到一些其他的对象,查看出色 教程通过斯科特*史蒂文森.当你的 GameObject 收到消息,它不明白,它试图前进。如果没有转发执行, doesNotRecognizeSelector 方法是叫你获得例外。

详细说明,可以发现在 苹果文件NSObject 级:

当一个物体发送消息 其它没有对应的方法, 运行时系统的接收器 机会委托的消息 到另一个接收器。它代表了 消息通过创建一个NSInvocation 对象代表的消息 发送的接收器 forwardInvocation:含有消息 这NSInvocation对象为 参数。接收者 forwardInvocation:方法,然后可以 选择转发消息 另一个对象。(...) NSObject的执行情况 forwardInvocation:简单地援引 doesNotRecognizeSelector:方法;它的 不向任何消息。因此,如果 你选择不实施 forwardInvocation:发送 无法识别信息的对象将 提出的例外情况。

为你的错误,似乎这 GameObject 发送一些消息的不理解。这可能是一个简单的错误或更多的东西微妙的象存管理的错误,你就会有给我们更多的信息。

其他提示

我会检查的第一件事是游戏物体是否具有-doesTouch:或+ doesTouch:方法。我不知道什么__forwarding ......是。是什么错误你在控制台日志中看到了什么?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top