这就是我尝试做的事情:用户启动应用。 AppDelegate
创建对SecondClass
的现有实例的引用。然后,更改SecondClass
上初始化的标签字符串。
我已尝试过两种方法:
第一种方法:
的AppDelegate:
CCScene *scene2 = [CCBReader loadAsScene:@"FirstClass"];
FirstClass *firstClass = (FirstClass *)scene2.children.firstObject;
[firstClass changeLabel];
的Firstclass
@implementation FirstClass
{
CCLabelTTF *myLabel
}
-(void)changeLabel
{
myLabel.string = @"String";
}
第二种方法: 的AppDelegate:
CCScene *scene2 = [CCBReader loadAsScene:@"FirstClass"];
FirstClass *firstClass = (FirstClass *)scene2.children.firstObject;
firstClass.myLabel.string = @"String";
的Firstclass
@property (strong, nonatomic) CCLabelTTF *myLabel;
这两种方法都以相同的结果结束。标签字符串不会改变。当我使用相同的确切代码来更改NSInteger而不是标签字符串,然后使用NSLog将其打印出来并且它有效。我已经三次检查以确保myLabel
不是零。我还确保myLabel
没有在后台线程上运行。我试图了解如何使其发挥作用,我真的很感激任何使这项工作的答案。谢谢。
编辑:
我编辑了changeLabel
来创建一个名为newString
的新NSString,并将newString
设置为" new string"。然后我将adsPrice.string
设置为newString
,但它仍然没有显示新字符串,即使我有一个NSLog告诉我newString
是什么。