15

(私はカカオの初心者で、)なぜ私たちがすべきなのか疑問に思っています:

NSLog(@"this is the variable value: %d",variable);

次のようなものではありません:

[NSLog outputThis:@"this is the variable value: %d" param:variable];
4

3 に答える 3

19

あなたが始めたばかりのとき、これはかなり混乱することに同意します。主な理由は、NSLog メソッドが、Core Foundation の他の多くのメソッドと同様に、Objective-C API ではなく、C ベースの API であることです。C スタイルの関数は、このmyFunction(myParameter1, myParameter2) のようになります。

おそらく [UIView presentModalViewController:] などに慣れているすべての GUI は、Objective-C API に基づいており、関数 (Obj-C ではセレクターと呼ばれる) で見た角かっこを使用しています。Objective-C 言語は C の上にあるため、ほとんどのアプリで両方のスタイルを見つけることができます。

于 2012-06-25T13:51:34.877 に答える
6

NSLogクラスのように見えるかもしれませんが、そうではありませ

NSLogFoundationKitデバッグ文をコンソールに出力する関数です。で定義されていNSObjCRuntime.hます。

void NSLog(NSString format, ...);

ここにはかなりの量の情報があります: http://cocoadev.com/wiki/NSLog

編集: @fyngyrz が指摘したように、ページは死んでいます。これが 2012 年のページのウェイバック マシン バージョンです。

于 2012-06-25T13:53:43.837 に答える
6

私が理解しているように、NSLog は Objective C の関数ではなく、Cocoa の基盤に組み込まれた C の関数です。したがって、可変引数を持つ基本的な C 関数に準拠します。

于 2012-06-25T13:50:32.353 に答える