(私はカカオの初心者で、)なぜ私たちがすべきなのか疑問に思っています:
NSLog(@"this is the variable value: %d",variable);
次のようなものではありません:
[NSLog outputThis:@"this is the variable value: %d" param:variable];
(私はカカオの初心者で、)なぜ私たちがすべきなのか疑問に思っています:
NSLog(@"this is the variable value: %d",variable);
次のようなものではありません:
[NSLog outputThis:@"this is the variable value: %d" param:variable];
あなたが始めたばかりのとき、これはかなり混乱することに同意します。主な理由は、NSLog メソッドが、Core Foundation の他の多くのメソッドと同様に、Objective-C API ではなく、C ベースの API であることです。C スタイルの関数は、このmyFunction(myParameter1, myParameter2) のようになります。
おそらく [UIView presentModalViewController:] などに慣れているすべての GUI は、Objective-C API に基づいており、関数 (Obj-C ではセレクターと呼ばれる) で見た角かっこを使用しています。Objective-C 言語は C の上にあるため、ほとんどのアプリで両方のスタイルを見つけることができます。
NSLog
クラスのように見えるかもしれませんが、そうではありません。
NSLog
FoundationKit
デバッグ文をコンソールに出力する関数です。で定義されていNSObjCRuntime.h
ます。
void NSLog(NSString format, ...);
ここにはかなりの量の情報があります: http://cocoadev.com/wiki/NSLog
編集: @fyngyrz が指摘したように、ページは死んでいます。これが 2012 年のページのウェイバック マシン バージョンです。
私が理解しているように、NSLog は Objective C の関数ではなく、Cocoa の基盤に組み込まれた C の関数です。したがって、可変引数を持つ基本的な C 関数に準拠します。