(私はココアの初心者です)なぜ私たちは何をしなければならないのかと思っています:
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はObjective C関数ではなく、Cocoaの基盤に組み込まれたC関数です。したがって、可変個引数を持つ基本的なC関数に準拠しています。
NSLog
はクラスのようにseemできますが、そうではありません。
NSLog
は、デバッグ文をコンソールに出力するためのFoundationKit
関数です。NSObjCRuntime.h
:
void NSLog(NSString format, ...);
ここにはかなりの量の情報があります: http://cocoadev.com/wiki/NSLog
EDIT:@fyngyrzが指摘したように、ページは死んでいます。だから 2012年のページのウェイバックマシンバージョンです