0

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

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 回答