次のコードは、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)。