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