gpt4 book ai didi

ios - 更改 SKLabelNode 上的标签文本会使应用程序崩溃

转载 作者:行者123 更新时间:2023-11-28 21:48:16 25 4
gpt4 key购买 nike

我试图在运行时更改 SKLabelNode 中的文本,但它使应用程序崩溃并出现错误:CRASH: -[SKLabelNode label]: unrecognized selector sent to instance

我从 selectNodeForTouch:(CGPoint)touchlocation 方法调用它,如下所示:

        if ([[node name]isEqualToString:@"e"]) {
// add current riddle to favourites and change the icon of the star
button *btn = (button *)[self nodeAtPoint:touchLocation];
btn.label.text = @"d";
[(GameViewController *)self.view.window.rootViewController addToFavourites:_currentTomhais];
NSLog(@"Favourited");
}

按钮对象有如下接口(interface):

@interface button : SKSpriteNode
@property (nonatomic, retain) SKLabelNode *label;

并在 button.m 文件中初始化如下

    @implementation button
-(instancetype) initWithString:(NSString *)character fontNamed:(NSString *)font size:(float)size{
self = [super init];
if (self) {
[self setSize:CGSizeMake(size, size)];
//icon Text
_label = [[SKLabelNode alloc] initWithFontNamed:font];
_label.name = character;
_label.fontSize = size;
_label.fontColor = [UIColor colorWithRed:150.0f/255.0f
green:166.0f/255.0f
blue:173.0f/255.0f
alpha:1];

[_label setText:character];
_label.position = CGPointMake(0, 0);
[self addChild:_label];

}
return self;
}

知道如何在运行时更改此项目上的文本而不会使应用程序崩溃吗?

最佳答案

您正在将选择器“标签”发送到无法识别它的 SKLabelNode。被触摸的节点实际上是一个 SkLabelNode,因此当您尝试在 btn.label.text = @"d"; 处设置文本时,您正在向 SkLabelNode 发送“标签”;

关于ios - 更改 SKLabelNode 上的标签文本会使应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29266898/

25 4 0