0
私は、このCCLabelAtlas *numberStat[7]
のように.hファイルで宣言された7つのCCLabelAtlasラベルを持っています。次に、.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'
どのように私はそれが過剰にリリースされないことを確認することができますか?私はすでに「保持」と宣言していました。 – Liuhu