2009-04-01 16 views

答えて

26

どちらの回答も正しいです。複数の文字列と整数を連結する場合は、NSMutableStringのappendFormatを使用します。

NSMutableString* aString = [NSMutableString stringWithFormat:@"String with one int %d", myInt]; // does not need to be released. Needs to be retained if you need to keep use it after the current function. 
[aString appendFormat:@"... now has another int: %d", myInt]; 
+0

私は文字列連結のようなものを使用していますが、「aStringのローカル宣言がインスタンス変数を隠す」という警告が表示されます。このエラーは何が発生する可能性がありますか? – Hari

+1

aStringの後に等号がありませんか? – VagueExplanation

30
[NSString stringWithFormat:@"THIS IS A STRING WITH AN INT: %d", myInt]; 

これは一般的にどのようなことですか。

+1

また、localizedStringWithFormat:とinitWithFormat:locale:をスクリーンに使用するための書式設定の際に調べます。 –

3
NSString *s = 
    [ 
     [NSString alloc] 
      initWithFormat:@"Concatenate an int %d with a string %@", 
      12, @"My Concatenated String" 
    ]; 

私はあなたがおそらく短い答えを探していることは知っていますが、これは私が使用するものです。

+0

これは[NSString stringWithFormat:]と同じですか? – PlagueHammer

+0

この方法では、終了したら文字列を解放する必要があります。 –

+0

@Debajit、基本的に同じです。あなたはそれを使用した後に文字列を解放する必要があります。 –

3

string1、x、これらはそれぞれ文字列オブジェクトと整数変数として宣言されます。両方の値を組み合わせて文字列オブジェクトにint値を追加し、その結果を新しい文字列に割り当てる場合は、次のようにします。

NSString *[email protected]"Hello"; 

int x=10; 

NSString *string2=[string1 stringByAppendingFormat:@"%d ",x]; 

NSLog(@"string2 is %@",string2); 


//NSLog(@"string2 is %@",string2); is used to check the string2 value at console ; 
-1

本当の答えはノーです思わない - Objective CのでNSStringsを連結する簡単な短い方法はありません - C#とJavaで「+」演算子を使用するのと同様に何も。

関連する問題