2012-04-07 12 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'から取得した値 'の場所に置くために何を知りたいですか?何を試しましたか? –

+0

[Objective-c:同じクラス内のコールクラスメソッド]の複製が可能です(http://stackoverflow.com/questions/7290156/objective-c-call-class-method-within-same-class) –

+0

私は自分自身を試しました。 minFMFrequency、 [self minFMFrequency] –

答えて

0

Dupe。チェックthisを確認してください。

あなたは実行する必要があります。[[self class] ClassProperties]

そう...あなたのために: chackFrequency以内にあなたが[[self class] minFMFrequency]を呼び出すことができます。

あなたのケースで非常に
+0

私はこのエラーが発生します:Thread1:signal SIGABRT –

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:signal SIGABRT –

+1

このコードのためではありません。あなたのコードとすべてのエラー情報で新しい質問を投稿するべきです。 – vikingosegundo

関連する問題