2012-04-27 6 views
0

基本的に私はlocalIPと呼ばれるIBoutlet NSMenuItemを持っています。私は私の.mでsetTitleインスタンスを使用しています。タイトルを文字列(@ "")とNSStringと同じに設定したいとします。NSMenuItem TitleはStringとNSStringに設定されていますか?

次の断片を見てください。

問題は、使用されていない表現結果を警告することです。したがって、表示されるのはNSStringのIP値です。私は最終的な出力を次のようにしたい: ローカルIP:192.xxx.x.x

私はobjective-cの新しいです。私は以前は主にjavaでプログラミングしていました。

答えて

2

試してみてください。NSStringのインスタンスは右、あなたのプログラムにも

NSString * title = [NSString stringWithFormat:@"Local IP: %@",ip]; 
[localIP setTitle:title]; 

ipのですか?

[localIP setTitle:[NSString stringWithFormat:@"Local IP: %@", ip]]; 

私の知る限りこれだけ使用してリテラルを行うには方法は現在ありません承知しているよう::)

+0

はどうもありがとうございましたあります!働いた!あなたは理由を説明してもらえますか? stringWithFormatをNSStringと単独では何が違うのですか? –

+0

元々あなたが持っていたのはCカンマ演算子の使用でした。カンマ演算子はカンマの左側の式を評価し、*はその値をスローし、カンマの右側の式を評価し、その値を全体の式の値として取ります。この値は、左側に副作用(たとえば、割り当て)がある可能性があるということです。 –

+0

おかげさまで、私はそれをよりよく理解していると思います! –

0

次を使用する必要があります。

警告は、ブラケットの2番目の式として、 'ip'変数がコンパイラによって破棄されるため、 'expression unused'と表示されます。

同様の質問here

関連する問題