我有这个代码用于在玩家触摸对象时获得分数:
- (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 ..
感谢。
答案 0 :(得分:1)
如果分数与number
类似NSInteger
,请对其进行处理并将其存储为NSInteger
或NSNumber
,如果您需要将其作为对象。
并将其转换为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];