0
我有7个CCLabelAtlas标签在.h文件中声明,像这样CCLabelAtlas *numberStat[7]
。然后,我将它们初始化为.m文件中的for循环:为什么CCLabelAtlas [1]拒绝更新?
for (int i = 1; i <=7; i++) {
NSString* statName = [NSString stringWithFormat @"Number %d", i];
numberStat[i] = [[CCLabelAtlas labelWithString: [self loadThisValue:statName] charMapFile:@"digitalNumbers.png" itemWidth:26 itemHeight:37 startCharMap:'0'] retain];
[self addChild: numberStat[i]];
}
当我尝试更新标签时出现问题。我可以从2更新到7,但是当我尝试更新numberStat [1]的字符串(numberStat[1].string = @"111";
)时,它会崩溃。完全相同的代码适用于2-7。
这里的崩溃日志:
-[CCSprite setString:]: unrecognized selector sent to instance 0x897cbd0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CCSprite setString:]: unrecognized selector sent to instance 0x897cbd0'
我如何确保它不会被过度释放?我已经用'retain'声明了它。 – Liuhu 2012-04-22 21:52:27