過去に、Snow Leopard (または古い Mac OS X) で何かをコンパイルし、Lion 以降で利用可能な @selector を使用しなければならなかったとき、私は次のようなことをしました:
if([foo respondsToSelector:@selector(awesomeLionSelector)]) {
[foo awesomeLionSelector]
}
そして、これはうまくいきました。そのため、フロートを返す新しいメソッドに対して同じことをしようとしていますが、次の行:
float f = [foo awesomeLionSelectorWhichReturnsFloat];
コンパイル エラーをスローします:「代入で 'objc_object*' を 'float' に変換できません」。これは、コンパイラがメソッドを認識せず、戻り値の型を 'id' と見なさなければならないためです。
これを修正する適切な方法は何ですか?