0

重複の可能性:
プライベート メソッド宣言 Objective-C

私は、Objective-C クラスのメソッドを .h ファイルで宣言して公開するか、クラス拡張子を使用して .m ファイルで宣言する必要があると想定しました。

最初にメソッドを宣言せずに xcode が文句を言うだろうと考えましたが、宣言せずにメインの AppDelegate クラスにメソッドを追加すると、すべて正常に動作します。

クラスのすべてのメソッドを宣言する必要がありますか、それともメソッドがそのクラスでのみ使用され、他の場所では使用されない場合は、どの部分を混乱させましたか??

4

3 に答える 3

1

とにかくメソッドを宣言します。.h ファイルのいずれか

@interface ViewController : UIViewController
-(void)myMethod;
@end

または.mのプライベートインターフェイスで

#import "ViewController.h"

@interface ViewController ()
-(void)myMethod;
@end
于 2012-10-25T09:41:01.303 に答える
0

.h ファイルでは、すべてのクラス メソッドの宣言は必要ありません。.h ファイル内で、他のユーザーがパブリックにアクセスできるようにするメソッドのみを宣言します。

于 2012-10-25T09:39:34.830 に答える
0

Objective C は非常に動的な言語であり、実行時にメソッドを解決します。そのため、メソッドを呼び出すのではなく、オブジェクトにメッセージを送信しています (たとえば、C++ のように)。したがって、コンパイラがメソッド宣言を認識しない場合でも、オブジェクトが実行時にそれを見つけられないという意味ではありません。

したがって、実際には ObjC メソッドを必要な場所 (任意のファイルまたは別のライブラリ) で定義できます。プログラムがコンパイルされ、リンクされた ObjC ランタイムは、それらすべてを見つけることができます。

于 2012-10-25T09:39:48.687 に答える