このコードに問題があります:
NSRect itemFrame;
id item;
// code to assign item goes here.
itemFrame.origin.y -= [item respondsToSelector:@selector(selectedHeight)] ? [item selectedHeight] : [self defaultSelectedHeight];
これは問題のあるビットです:
[item selectedHeight]
コンパイラは、戻り値の型が id であると想定しています。キャストを追加するとこれが修正されると思いました:
(float)[item selectedHeight]
しかし、うまくいきません。
私は何を間違っていますか?(問題は id に関連するポインターの解決に関係していると思われますが、関連するドキュメントが見つかりません)。