我有以下内容:
@implementation DataSource
+ (NSArray *)someData
{
static NSArray *data = nil;
if (!data) {
data = [[NSArray arrayWithObjects:..., nil] retain];
}
return data;
}
@end
有没有办法从类自己访问类方法?
答案 0 :(得分:2)
NSArray *array = [DataSource someData];
答案 1 :(得分:0)
NSArray *accessor = [DataSource someData];
+指的是class level access。
答案 2 :(得分:0)
是。在像someData这样的类方法中,您可以调用另一个类方法,如
[self anotherClassMethod].
这里自我指的是阶级。
答案 3 :(得分:0)
可以使用类名调用静态方法。上面的静态方法返回类型NSArray所以我们可以在任何地方使用
NSArray *Arr=[DataSource someData];
答案 4 :(得分:0)
在其他类方法中,您可以将其称为[self someData]
。从类的实例中,您可以将其称为[[self class] someData]
(这具有子类可以覆盖它的良好属性,并且将根据需要自动使用它们的实现)。在课堂外,您可以将其称为[DataSource someData]
。