クラスメソッドとインスタンスメソッドの違いは何ですか?
インスタンス メソッドはアクセサー (ゲッターとセッター) であり、クラス メソッドはその他すべてですか?
ベストアンサー1
他の回答のほとんどが述べているように、インスタンス メソッドはクラスのインスタンスを使用しますが、クラス メソッドはクラス名だけで使用できます。Objective-C では、次のように定義されます。
@interface MyClass : NSObject
+ (void)aClassMethod;
- (void)anInstanceMethod;
@end
これらは次のように使用できます。
[MyClass aClassMethod];
MyClass *object = [[MyClass alloc] init];
[object anInstanceMethod];
クラス メソッドの実際の例としては、NSString
や+stringWithFormat:
のNSArray
ような多くの Foundation クラスの便利なメソッドがあります+arrayWithArray:
。インスタンス メソッドは のNSArray
メソッドです-count
。