2012-01-13 26 views
37

我有一個名爲'you'的NSString,其值爲「This is a you string!」。Objective C中的簡單字符串連接C

我想在'你'中連接「123」,我該怎麼辦?

我正在使用此代碼,它給出了一個錯誤。

you=[you stringByAppendingString:@"123"]; 
+0

這並不產生!我可以給你一個錯誤的描述。 – 2012-01-13 16:33:30

+3

錯誤說的是什麼? – meggar 2012-01-13 16:33:34

+0

需要更多有用的信息:你得到什麼樣的錯誤,以及在哪裏?在編譯時或運行時還是? – 2012-01-13 16:34:08

回答

70

這裏該代碼爲我工作

NSString *s = @"avant"; 
s = [s stringByAppendingString:@" - après"]; 
NSLog(@"%@", s); 

2012-01-13 11:48:59.442的TabBar [604:207]前衛 - 滑雪後

所以我猜測是你的you是一個不好的指針,它不是nil,而不是你認爲它的NSString。

在調用之前,您是否在該值上嘗試使用NSLog?

44

你也可以試試這個:

you = [NSString stringWithFormat:@"%@%@", you, @"123"]; 
3

代碼:

NSString *you; 
you = @"This is you String!"; 
NSLog(@"you : %@ ",you); 

you = [you stringByAppendingString:@"123"]; 
NSLog(@"you : %@ ",you); 

[you stringByAppendingFormat:@"%@%@",you,@"123"]; 
NSLog(@"you : %@ ",you); 

結果在控制檯:

[233:907]你:這是你的字符串!

[233:907]你:這是你的字符串123

![233:907]你:這是你的字符串123

+0

沒有'你='在最後一個?並根據日誌,不要這個的意思。在日誌中,有一個「tempString」... – Larme 2014-01-23 08:02:18

+0

@Larme:老兄,那tempString是早期的代碼..爲什麼要投票? – 2014-01-23 09:49:26

+2

我沒有downvote。仍然不明白最後一行。你展示了一種不同的方法,但是你以前不會把'you ='放在裏面。事實上,所以最後的日誌是正常的,但仍然不明白這個幫助該主題的含義。 – Larme 2014-01-23 10:03:05

1

請試試這個

NSString *version = @"14.5.1"; 

NSString *build = @"1.0"; 


self.versionLabel.text = [NSString stringWithFormat:@"%@%@%@%@%@" , @"V : " ,version,@" (",build, @")" ];