2011-08-11 1 views
20

本当に基本的な質問ですが、私は最近、Objective Cを探求し始め、1つのサンプルコードを使いこなそうとしています。しかし、デバッグの目的のために、私はコンソール上でNSString変数の印刷値を求めます。これをどのように達成するのですか?NSLogで変数の値をプリントするには?

基本的に私は、Javaの開発者ですので、この外国語(OBJの-C)での私の変数がある

String hello = "world!"; 
System.out.println(hello); 

...と私は似たような探しています...

NSString *hello = ...calling a method to return string... 

どんなヒントもありがとう!

はあなたに

答えて

46

非常にシンプルありがとう:データ型%@の変化に基づいて

NSLog(@"Value of hello = %@", hello); 
+0

を次のように私はこの1つのコード補完のショートカットがあります: 'のNSLogをNSStringFromClass([self class])、NSStringFromSelector(_cmd)); 'あなたが入っているファイルではなく**クラス名を与えることに注意してください。あなたは豊富な継承階層を持っています(大部分はそうではありません)。 "[サブクラスmethodName]"と言うと、スーパークラスファイルになる可能性があります – bshirley

+0

[NSStringクラスリファレンス](http://developer.apple.com/ Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html)、 'stringWithFormat:'を見つけると、[Formatting String Objects(基本)]へのリンクを提供します(http:// developer。 apple.com/library/mac/#documentation/Cocoa/Conceptual/Strings/Articles/FormatStrings.html#//apple_ref/doc/uid/20000943)と[文字列フォーマット指定子](http://developer.apple.com/ライブラリ/ mac /#documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html#// apple_ref/doc/uid/TP40004265) - それらを熟読! – bshirley

+0

上記の例では(デバッガで 'po'を使用すると)、オブジェクトに対して' - (NSString *)description; 'メソッドが呼び出されることにも注意してください。そのメソッドをオーバーライドして、面白いものを提供することができます。 (簡単な方法は、それを辞書にダンプし、辞書の 'description'を呼び出すことです。 – bshirley

10
NSLog(@"%@",hello); 

For Strings u use %@ 
For int u use %i 
For float u use %f 
For double u use %lf 
関連する問題