今まで、この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 に答える