0

重複の可能性:
Objective-C: クラス vs インスタンス メソッド?

iOS でメソッド名の前に「+」または「-」記号を付ける理由。署名ロジックについて教えてください。その違いは何ですか?

4

5 に答える 5

7

それは兆候とは何の関係もありません。

+メソッドがクラスメソッドであることを意味します。つまり、インスタンスではなく、クラス自体を操作します(つまり、そのスコープは)。他の多くの言語で対応するものはですstatic

-メソッドがインスタンスメソッドであることを意味します。つまり、クラスのインスタンスを操作します。

于 2012-10-05T10:03:48.593 に答える
3
`@interface MyClass : NSObject
{
}

+(id) someMethod;  // declaration of class method

-(id) someMethod;  // declaration of instance method

@end` 

インスタンス メソッドはクラスのインスタンスに適用されるため、適用するオブジェクトが必要であり、呼び出し元のメンバーにアクセスできます。

一方、クラス メソッドはクラス全体に適用され、どのオブジェクトにも依存しません。

適切な知識リンクについては、このリンクを確認してください

于 2012-10-05T10:10:52.200 に答える
2

マイナス-記号はインスタンスメソッドを示します。プラス+記号はクラス メソッドです。

于 2012-10-05T10:02:21.810 に答える
2

先頭の + 記号はクラス メソッドを示し、- 記号はインスタンス メソッドを意味します。

補足: これはここで尋ねるべきではありません - そのチュートリアルをもっと注意深く読んでください。

于 2012-10-05T10:03:15.007 に答える
1

-プレフィックスはインスタンス メソッドを示し、プレフィックス+はクラス (または静的) メソッドを示します。

詳細については、この(および他の多くの) SO 投稿を参照してください。

于 2012-10-05T10:03:30.873 に答える