2009-02-26 24 views

cevap

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

Bunu yapmak için daha iyi bir yol olduğundan emin olmama rağmen, bu hile yapmalıdır. Ben de bu beni test edilmemiş olduğunu söylemeliyim, beni affet. En iyi şey NSString için stringWithFormat belgelerini bulmaktır.

+0

Sen jus konum Merhaba ve Dünya dizelerinde s yok, aksi halde bu iyi çalışmalıdır. Ayrıca NSString'de bir mesaj dizesiByAppendingString var. – zoul

+0

Bu tam olarak ne yaptığımı, ancak zoul'un dediği gibi, önekleri @ (yani @ "merhaba") –

+0

Evet, NSString * string = [NSString stringWithFormat: @ "% @% @", @ "Merhaba", @ "Dünya"]; ayrıca doğrudur. –

28

ne dersiniz:

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

iki literal dizeleri varsa, can basitçe kod:

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

Bu kodu içinde uzun edebi dizeleri kırmak için yararlı bir tekniktir. Ancak bu, stringWithFormat: veya stringByAppendingString :, diğer yanıtlarda belirtildiği gibi kullanmak istediğiniz dizge değişkenleriyle çalışmayacaktır. her zaman orada NSMutableString oluyor

5

..

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

Not:

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

Değişkene doğrudan bir değişken dizesi atayarak değiştirilebilen bir dize oluşturamazsınız. Değiştirilebilir dizeyi oluşturmak için 'NSMutableString * myString = [NSMutableString stringWithString: @" Merhaba "]; –

1

Bill, yout sever basit bir çözüm ve ben de iki NSStrings arasındaki boşluğu ortadan kaldırabilir dikkat etmek istiyorum :

NSString * myString = @"Hello"@"World"; 
3
t3.text=[t1.text stringByAppendingString:t2.text]; 
İlgili konular