2012-04-07 86 views
2

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

这是我的类方法

+(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是实例变量。

+1

所以,你想知道要放什么东西来代替从类method'获得'价值?你有什么尝试?的 – 2012-04-07 19:35:23

+0

可能重复的[目标c:调用同一类别内类方法](http://stackoverflow.com/questions/7290156/objective-c-call-class-method-within-same-class) – 2012-04-07 19:37:39

+0

我试图自我。 minFMFrequency, [self minFMFrequency] – 2012-04-07 19:41:32

回答

0

Dupe。检查this

你需要做的:[[self class] ClassProperties]

所以......你: 内chackFrequency你可以调用[[self class] minFMFrequency]

+0

当我尝试这样做时出现此错误:Thread1:信号SIGABRT – 2012-04-07 19:48:27

12
+(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];

+0

当我尝试这样做时出现此错误:Thread1:信号SIGABRT – 2012-04-07 19:58:52

+1

但不是因为此代码。你应该用你的代码和所有错误信息发布一个新问题。 – vikingosegundo 2012-04-07 20:09:25

相关问题