类方法和实例方法的解释

时间:2011-08-10 07:22:47

标签: objective-c class-method instance-methods

到现在为止,我想知道这两者之间的区别。我一直在使用实例方法,但不知道它背后的含义。谁能用最简单的方式解释一下?感谢。

2 个答案:

答案 0 :(得分:1)

类本身会调用类方法,如下所示:

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

在实际对象上调用实例方法:

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

阅读The Objective-C Programming Language指南以获取更多信息。

答案 1 :(得分:0)

可以使用井类方法而无需创建类的实例。 由于您没有此类的实例,因此无法使用任何类实例变量。

例如:

@implementation MyStringHelper


@synthesize lastChecked;

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

因此你可以这样称呼:

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

但您无法使用属性latChecked,因为这需要MyStringHelper类的实例。