ループを使用しているため、Tom と Benjie の両方のソリューションに注意してください。それらはそれぞれ、反復ごとに追加の自動解放オブジェクトを作成します。ループが小さい場合は問題ありませんが、ループのサイズが制限されていない場合や文字列が大きい場合は、非常に大きなメモリ スパイクとパフォーマンス ヒットが発生する可能性があります。特に iPhone では、これはまさに、短期間のメモリ スパイクによる驚くべきメモリ問題を引き起こす可能性がある種類のループです。
次のソリューションでは、メモリ フットプリントが小さくなります (また、わずかに高速で、タイピングも少なくて済みます)。-appendFormat:ではなくへの呼び出しに注意してください-appendString。これにより、破棄される 2 番目の文字列が作成されるのを回避できます。最後の文字列の末尾には余分なスペースがあることに注意してください。最初または最後の繰り返しを別の方法で処理するか、ループの後の最後のスペースをトリミングすることで、これを修正できます。
NSMutableString* theString = [NSMutableString string];
for (int i=0; i<=10;i++){
[theString appendFormat:@"%i ",i];
}
label.text = theString;
忘れないでください[NSArray componentsJoinedByString:]。この場合、あなたは NSArray を持っていませんが、あなたが持っている一般的なケースでは、探しているものを取得するためのおそらく最良の方法です。