晚上好,
我正在尝试编写菜单,但我一直在
线程1:编程接收信号:“SIGABRT”。
我的代码目前很少,只是想让它运行起来!
@implementation Menu
+(id)scene{
CCScene *scene = [CCScene node];
CCLayer *layer = [Menu node];
[scene addChild:layer];
return scene;
}
-(id)init{
if((self = [super init])){
CCLabelTTF *playLabel = [CCLabelTTF labelWithString:@"Play" fontName:@"Marker Felt" fontSize:40];
CCMenuItemLabel *play = [CCMenuItemLabel itemWithLabel:playLabel target:self selector:@selector(doPlay:)]; //This is where SIGABRT happens//
menu = [CCMenu menuWithItems:play, nil];
[self addChild:menu];
}
return self;
}
-(void)doPlay{
CCLOG(@"doPLay");
}
@end
任何帮助将不胜感激:) 没有图像的编码菜单似乎很少。
答案 0 :(得分:2)
第一项业务:
这会捕获很多类似的错误,我真的不明白为什么在所有Xcode项目中默认情况下都没有启用此设置。
让我解释一下你的错误是什么,如果没有启用警告,很容易被忽略。传递给菜单项的选择器是:
@selector(doPlay:)
实现的选择器是:
-(void) doPlay
{
}
他们不匹配!菜单项期望选择器采用一个参数,如:(冒号)所示。将选择器更改为:
@selector(doPlay)
你会没事的。下次,编译器会警告你这个事故。