0

当玩家触摸物体时,我有这个代码用于接收分数:

- (void)  match:(GKMatch *)match
 didReceiveData:(NSData *)data
     fromPlayer:(NSString *)playerID{



    NSString *incomingDataAsString =
    [[NSString alloc] initWithData:data
                          encoding:NSUTF8StringEncoding];

    NSString *existingText = score.text;

    NSString *finalText =
    [existingText stringByAppendingFormat:@"Pasc = %@",
     incomingDataAsString];

    [self.score setText:finalText];

    [incomingDataAsString release];

}

但是,结果,我的分数显示如下:“Pasc = 123456”,我怎样才能让它显示,个位数增加。(将数字 1 替换为 2,将 2 替换为 3..

谢谢。

4

3 回答 3

1

如果 Score 与 anumber类似NSInteger,则将其视为 a 并将其存储为 aNSInteger或 aNSNumber如果您需要将其作为对象。
并将其转换为NSString仅用于显示目的。

于 2012-11-10T04:22:12.187 回答
1

请尝试以下方法,希望对您有所帮助。

   NSRange range = NSMakeRange(0, [incomingDataAsString length]); // 0 is -->x<-- position 0
    NSString *finalText = [existingText stringByReplacingCharactersInRange:range withString:[NSString stringWithFormat:@"%@",incomingDataAsString];

    [self.score setText:finalText];

我忘了我们可以这样做,你提到过,只需删除“Pasc =”,只关注@“%@”,然后就可以了

[self.score setText:incomingDataAsString];  

请给我一个反馈,让我了解发生了什么,然后我可以编辑我的代码来帮助你:),谢谢。

于 2012-11-10T04:29:03.937 回答
0

self.score.text = [NSString stringWithFormat:@"Pasc = %@", incomingDataAsString];

于 2012-11-10T12:29:59.467 回答