-1

重複の可能性:
Objective C でメソッドの横にあるプラス記号とマイナス記号は何を意味しますか?

+(CCScene *)function {...}iOS について学び続けていると、私が作業していたサンプル コードの最初の行で、これに出くわしました。次のメソッドのように、メソッドがでObj -C に実装されていることは理解してい-ます:-(ObjectType*)function {...}+

4

2 に答える 2

2

インスタンス メソッド (または、Objective-C のメッセージ) は . で始まり-ます。クラス メソッドは で始まり+ます。違いは、インスタンス メッセージは特定のクラスのオブジェクトに送信できるのに対し、クラス メッセージはクラス自体に送信できることです。

Country というクラスがあるとします。次に、Country インスタンスの名前または地域を返すインスタンス メッセージnameまたはがある場合があります。area

NSString *name = [someCountry name];
// name could be "Germany" or "France" for instance.

またnumberOfCountries、Country インスタンスの総数を返すクラス メッセージがある場合もあります。

int totalCount = [Country numberOfCountries];
于 2012-06-03T19:34:41.927 に答える
1

「+」はクラス メソッドを示し、「-」はインスタンス メソッドを示します。したがって、+(CCScene *)function {...}クラスメソッドです。

インスタンス メソッドはオブジェクトを操作し、そのインスタンス変数にアクセスできますが、クラス メソッドはクラス全体を操作し、特定のインスタンスの変数にはアクセスできません (インスタンスをパラメーターとして渡さない限り)。

詳細については、Stackoverflowの「クラス vs インスタンス メソッド? 」を参照してください。

于 2012-06-03T19:38:54.110 に答える