0

今まで、この2つの違いを知りたいと思っていました.私はいつもインスタンスメソッドを使っていましたが、その背後にある意味がわかりません. 誰でも簡単に説明できますか?ありがとう。

4

2 に答える 2

1

クラス メソッドは、次のようにクラス自体で呼び出されます。

[NSDate date];
// declared as: + (NSDate *)date;

インスタンス メソッドは、実際のオブジェクトに対して呼び出されます。

NSDate *date = ...;
[date timeIntervalSinceNow];
// declared as: - (NSTimeInterval)timeIntervalSinceNow;

詳細については、Objective-C プログラミング言語ガイドを参照してください。

于 2011-08-10T07:24:43.830 に答える
0

クラス メソッドは、クラスのインスタンスを作成しなくても使用できます。このクラスのインスタンスがないため、クラス インスタンス変数を使用できません。

元:

@implementation MyStringHelper


@synthesize lastChecked;

+ (BOOL) checkIfEmptyString:(NSString *)checkString {
  return ([checkString length] == 0);
}
@end

したがって、これを次のように呼び出すことができます。

if ( [MyStringHelper checkIfEmptyString:@"NotEmprty"] ) {
// do something
}

ただし、これにはクラスlatCheckedのインスタンスが必要になるため、プロパティを使用することはできません。MyStringHelper

于 2011-08-10T07:29:22.423 に答える