ArcadeHighScoreLayer.m中
添加UITableView :
@implementation ArcadeHighScoreLayer
{
UITableView *table;
int count[N_OF_SECTION];
}
- (void) onEnterTransitionDidFinish
{
[[[CCDirector sharedDirector] view] addSubview:table];
}
但是系统给出警告:
"CCDirector may not respond to view"
还有一个异常:
"[CCDirectorDisplayLink view]: unrecognized selector sent to instance 0x7c66c80
2013-06-13 17:50:08.394 Games[6068:12203] *** Terminating app due to uncaught exception of class '_NSZombie_NSException'
libc++abi.dylib: terminate called throwing an exception** "
怎么办?请指教,谢谢。
这个问题看起来是因为你在 ArcadeHighScoreLayer.m 中试图添加一个 UITableView 到 CCView 上,但是你使用了一个未知的方法 view 来获取 CCView,导致系统发出了警告。
正确的做法是使用 Cocos2d 提供的方法来获取 CCView,比如:
CCDirector *director = [CCDirector sharedDirector];
CCGLView *glView = [director openGLView];
然后将 UITableView 添加到 glView 上就可以了。
另外,你提到的那个异常是由于你尝试调用 CCView 的未知方法 view 导致的,所以你需要修改你的代码来解决这个异常。