不能在xcode中的“+(void)”函数中调用函数

时间:2014-12-07 11:08:06

标签: objective-c function

当我尝试在+(void)函数中调用函数时,它无效。

示例:

+(void) publicfunction {
[self otherFunction];
}

-(void) otherFunction{
self.scene.view.pause = YES
}

但我无法在otherFunction内拨打“+(void)publicFunction”。

2 个答案:

答案 0 :(得分:3)

使用:

+(void) publicfunction {
    [YourClassName otherfunction];
}

“+”是静态方法,它既不需要实例也不能隐式访问这样一个实例的数据(或者这个,我自己,我等)

您还需要将其他功能类更改为“+”。

但是如果您需要访问“自我”属性。你不应该使用静态方法 - 而是保持对你的对象的引用,并将它们作为常规方法。

答案 1 :(得分:2)

除非您拥有该类的实例,否则无法调用- (void)otherFunction之类的实例方法。

通常,publicFunction之类的方法(不是“函数”)会返回其类型的实例。在这些情况下,他们会创建一个对象并根据需要进行准备。考虑[NSString stringWith...]方法风格。