2011-08-14 8 views
5

のようなグローバル関数を定義する:ココア - そのポストと受け入れ答えを参照のNSLog

In XCode, is there a way to disable the timestamps that appear in the debugger console when calling NSLog?

どのように私は、その例やその他の状況に、Objective-Cのコールがあり、グローバル関数を宣言してもよいです[MyClass myFunction]のような呼び出しをせずにNSLogのように直接呼び出すことができるかもしれませんか?

+0

[私はiPhoneアプリのどのオブジェクトにも使えるように、どのようにobjective-cで関数を書くことができますか?](http://stackoverflow.com/questions/788706/how-cani- – miku

答えて

6

標準のC構文を使用してください。実装を記述、宣言

extern return_type function_name(argument_type1 argument_name1,argument_type2 argument_name 2); 

.mファイル内の(又は.cファイルまたは任意)を書き込み、Objective-Cのが.hファイルでC.

の厳密なスーパーセットである、覚え

return_type function_name(argument_type1 argument_name1,argument_type2 argument_name 2){ 
     .... 
} 

ファイルが.mのファイルの場合は、ブロック@implementation ... @endの外側に配置する必要があります。 (まあ、あなたの中にあなたの機能を置くことができますが、私はそれが混乱していると思っています。)それはそれです!

+0

コンパイル時にこのエラーが発生しました:アーキテクチャi386の定義されていないシンボル: "_MyNSLog"、これは私が使用しているオブジェクトの中で使用できますか?参照先: - MyClass.oの[MyClass doJob:] ld:アーキテクチャi386のシンボルが見つかりません collect2:ldが1を返しました。終了ステータス – Oliver

+1

ターゲットに '.m'ファイルを含めるのを忘れた、または関数の実装( '.m'ファイル内)には、' .h'ファイルの宣言とは異なる名前があります。 – gcbrueckmann

+0

ありがとうございます。私はこのようなものを適切に実装するのに苦労していました。それはすべて今行く。 – djneely

関連する問題