2009-04-01 28 views

Trả lời

26

Cả hai câu trả lời là chính xác. Nếu bạn muốn nối nhiều chuỗi và số nguyên sử dụng appendFormat của NSMutableString.

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

Tôi đang sử dụng một cái gì đó như thế cho chuỗi nối nhưng nó mang lại cho tôi một cảnh báo: "Tuyên bố địa phương của 'aString' ẩn biến dụ" .Điều gì có thể tạo ra lỗi này? – Hari

+1

Dấu cách không bằng nhau sau aString? – VagueExplanation

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

Đó thường là cách tôi thực hiện.

+1

Cũng xem xét localizedStringWithFormat: và initWithFormat: locale: khi định dạng số để sử dụng trên màn hình. –

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

Tôi biết bạn có thể đang tìm kiếm câu trả lời ngắn hơn, nhưng đây là những gì tôi sẽ sử dụng.

+0

Đây có phải là [NSString stringWithFormat:] không? – PlagueHammer

+0

Với phương pháp này, bạn sẽ cần phải giải phóng chuỗi khi bạn hoàn thành nó. –

+0

@ Debajit, về cơ bản, giống nhau. Bạn sẽ phải giải phóng chuỗi sau khi bạn sử dụng nó. –

3

string1, x, chúng được khai báo dưới dạng đối tượng chuỗi và biến số nguyên tương ứng. và nếu bạn muốn kết hợp cả hai giá trị và nối thêm các giá trị int vào một đối tượng chuỗi và gán kết quả cho một chuỗi mới thì thực hiện như sau.

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

Dường như câu trả lời thực sự là không có - không có cách nào dễ dàng và ngắn để nối NSStrings với Objective C - không có gì giống như sử dụng '+' nhà điều hành trong C# và Java.

Các vấn đề liên quan