Ios6 连接字符串和整数

Ios6 连接字符串和整数,ios6,xcode4.5,Ios6,Xcode4.5,下面的代码在NSLog中得到了我想要的结果,但是必须有一种更简单的方法来做到这一点?我还得到了一个“格式化字符串不是字符串文字”错误,它仍然可以正常构建 NSString *levelstring1 = @"Level "; NSString *levelstring2 = [NSString stringWithFormat:@"%d", levelscore]; NSString *levelstring3 = @" ("; NSString *levelstring4 = [NSStrin

下面的代码在NSLog中得到了我想要的结果,但是必须有一种更简单的方法来做到这一点?我还得到了一个“格式化字符串不是字符串文字”错误,它仍然可以正常构建

NSString *levelstring1 = @"Level ";
NSString *levelstring2 = [NSString stringWithFormat:@"%d", levelscore];
NSString *levelstring3 = @" (";
NSString *levelstring4 = [NSString stringWithFormat:@"%d", xpscore];
NSString *levelstring5 = @"/";
NSString *levelstring6 = [NSString stringWithFormat:@"%d", (levelscore*(levelscore+1)*100)];
NSString *levelstring7 = @")";

NSString *levelstringfinal = [[[[[[levelstring1 stringByAppendingFormat:levelstring2]stringByAppendingFormat:levelstring3]stringByAppendingFormat:levelstring4]stringByAppendingFormat:levelstring5]stringByAppendingFormat:levelstring6]stringByAppendingFormat:levelstring7];

NSLog(@"Level is %@",levelstringfinal);

最终结果如下所示:级别1(50/100)。

您可以将它们组合成如下内容:

NSString *levelstringfinal = [NSString stringWithFormat:@"Level %d (%d/%d)", levelscore, xpscore, (levelscore*(levelscore+1)*100)];
您收到的警告是因为编译器无法检查变量的内容,而使用字符串文字,它可以匹配占位符和变量以获得某种程度的一致性

(即使必须将字符串分块构建,最后一行也最好使用
stringByAppendingString
而不是
stringByAppendingFormat
,因为它们不再是格式说明符。)