2012-01-13 12 views
37

私は、 "これはあなたの文字列です!"という値を持つ 'you'という名前のNSStringを持っています。Objective Cでの単純な文字列連結

「123」を「あなた」に連結したいのですが、どうすればいいですか?

私はこのコードを使用していますが、エラーが発生しています。 48::

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

を試してみてください!エラーが発生しました。 –

+3

エラーは何を表していますか? – meggar

+0

はより有用な情報を必要とします:どのような種類のエラーが発生していますか?コンパイル時または実行時または? –

答えて

70

ここで、このコードは私

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

2012-01-13 11のために働いている59.442タブバー[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

最後に「いいえ=あなた」はありませんか?そして、ログによると、この1つの意味はありません。ログには、 "tempString"があります... – Larme

+0

@Larme:tempStringは以前のコードでした。 –

+2

私はdownvoteしませんでした。まだ最後の行を理解していない。あなたは別の方法を示しますが、以前は 'you ='を入れていません。確かに、最後のログは正常ですが、まだこのトピックの意味を理解していません。 – Larme

1

生成このdoesntのこの

NSString *version = @"14.5.1"; 

NSString *build = @"1.0"; 


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