У меня возникли проблемы с этим кодом:
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]
но это не сработает.
Что я делаю неправильно? (Я подозреваю, что проблема связана с разрешением указателей, связанных с идентификатором, но я не могу найти соответствующую документацию).