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