到目前为止,我想知道这两个之间的区别。我一直在使用实例方法,但不知道它背后的含义。谁能用最简单的方式解释?谢谢。
问问题
326 次
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 回答