2009-02-26 20 views

答えて

40
NSString *string = [NSString stringWithFormat:@"%@%@", @"Hello", @"World"]; 
NSLog(@"%@", string); 

私は確かにこれを行うためのよりよい方法があると確信しています。私はまた、がテストされていないと言う必要があります私を許してください。 NSStringのstringWithFormatドキュメントを見つけるのが最善です。

+0

あなたはジュースですHelloとWorldの文字列に@sがありません。そうしないとうまくいきません。 NSStringにはメッセージ文字列ByAppendingStringもあります。 – zoul

+0

これはまさに私がやっていることですが、zoulによると、文字列の先頭に@(つまり@ "hello")が付いています –

+0

うん、NSString * string = [NSString stringWithFormat:@ "%@%@"、@ "Hello" "世界"];また正しいです。 –

28

方法について:

NSString *hello = @"Hello"; 
NSString *world = @"World"; 
NSString *helloWorld = [hello stringByAppendingString:world]; 
10

次の2つのリテラル文字列を持っている場合は、あなたがすることができ、単にコード:

NSString * myString = @"Hello" @"World"; 

これはあなたのコード内の長いリテラル文字列を分割するために有用な技術です。

ただし、これは他の応答で説明したように、stringWithFormat:またはstringByAppendingString:を使用する文字列変数では機能しません。

5

NSMutableStringは常にあります。..

NSMutableString *myString = [NSMutableString stringWithString:@"Hello"]; 
[myString appendString: @"World"]; 

注:

NSMutableString *myString = @"Hello"; // won't work, literal strings aren't mutable 
+1

変数にリテラル文字列を直接割り当てることによって、可変文字列を作成することはできません。変更可能な文字列を作成するには、NSMutableString * myString = [NSMutableString stringWithString:@ "Hello"]; 'を実行する必要があります。 –

1

ビル、私はyoutはシンプルなソリューションを好きで、私はあなたにも2 NSStringsの間のスペースをなくすことに注意したいのですが:

NSString * myString = @"Hello"@"World"; 
3
t3.text=[t1.text stringByAppendingString:t2.text]; 
関連する問題