クラスメソッドとインスタンスメソッドの違いは何ですか? 質問する

クラスメソッドとインスタンスメソッドの違いは何ですか? 質問する

クラスメソッドとインスタンスメソッドの違いは何ですか?

インスタンス メソッドはアクセサー (ゲッターとセッター) であり、クラス メソッドはその他すべてですか?

ベストアンサー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

おすすめ記事