增加分数 - NSString问题

时间:2012-11-10 03:57:30

标签: objective-c ios

我有这个代码用于在玩家触摸对象时获得分数:

- (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 ..

感谢。

3 个答案:

答案 0 :(得分:1)

如果分数与number类似NSInteger,请对其进行处理并将其存储为NSIntegerNSNumber,如果您需要将其作为对象。
并将其转换为NSString仅用于显示目的。

答案 1 :(得分: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];  

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

答案 2 :(得分:0)

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