0

ラベルに必要な値がnslog表示されていませんが、ラベルによって表示されるべき正しい値が表示されています。ラベルには、数字でいっぱいの大きな数字が表示されます。関連するコードを以下に示します。

上から見るとどう...

@implementation ORPlayerResults
{ 
    SKLabelNode *numberOfPointsLabel;

    NSInteger newPoints;
    NSString *addingNewPointNumberStored;
}

didMoveToView...

-(void)didMoveToView:(SKView *)view
{    
    // adding the label
    [self addChild:[self pointsTotalLabel]];
}

ラベルに関する情報

-(SKLabelNode *)pointsTotalLabel
{
    numberOfPointsLabel = [[SKLabelNode alloc] initWithFontNamed:@"Arial"];
    numberOfPointsLabel.text = @"Points Achieved: 0";
    numberOfPointsLabel.fontSize = 35;
    numberOfPointsLabel.fontColor = [SKColor whiteColor];
    numberOfPointsLabel.position = CGPointMake((self.size.width * 0.5)-200, self.size.height - 200);
    numberOfPointsLabel.horizontalAlignmentMode = SKLabelHorizontalAlignmentModeLeft;

    return numberOfPointsLabel;
}

以下のテキスト ラベルには正しい値が表示されていませんが、数字でいっぱいの間違った大きな数字が表示されています。nslog私が望む結果を示しています。

-(void)pointsAchieved
{
    newPoints = [[NSUserDefaults standardUserDefaults] integerForKey:kORNewPoints];
    addingNewPointNumberStored = [NSString stringWithFormat:@"%li", (long)newPoints];
    numberOfPointsLabel.text = [NSString stringWithFormat:@"Points Achieved: %ld", (long)addingNewPointNumberStored];

    NSLog(@"Points accumulated is: %@", addingNewPointNumberStored);
}
4

2 に答える 2

2

それらの名前を思い出せませんが、%@、%ld のものを混同しています。

あなたの NSLog は %@ を使用して動作します。

あなたの label.text は %ld を使用していますが、使用していません。

数字を文字列に入れ、その文字列を、まだ数字であるかのように label.text に追加しました。そのため、そのステートメントから (長い) も削除する必要があります。

于 2014-12-29T23:47:00.753 に答える