从实例方法调用类方法

时间:2012-04-07 19:34:27

标签: objective-c

我想从实例方法调用一个类方法来使用它的返回值。

这是我的班级方法

+(double) minFMFrequency {

    return 88.3;
}

这是我的实例方法

-(void) chackFrequency {

    switch (band) {
        case 'F':
            if (self.frequency > Value obtained from class method )
                frequency=107.9;
            break;

        default:
            break;
    }

}

bandfrequency是实例变量。

2 个答案:

答案 0 :(得分:13)

+(void)classMethod
{
    [self anotherClassMethod]; // in a class method, self refers to the class
}

-(void)instanceMethod
{
    [self anotherInstanceMethod]; //in an instance method self refers to the object, or instance 

    [[self class] classMethod]; //to call a class method from an instance send the instance the class message

}

所以在你的情况下:[[self class] minFMFrequency];

答案 1 :(得分:0)

DUPE。检查this

您需要执行:[[self class] ClassProperties]

所以......对你来说: 在chackFrequency内,您可以拨打[[self class] minFMFrequency]