У меня есть объект контроллера, который владеет NSMenu и является делегатом этого меню в интересах ленивого населения.
Однако ни numberOfItemsInMenu:
, ни menuNeedsUpdate:
никогда не вызываются, поэтому меню остается пустым.
Я подтвердил, что:
- Объект контроллера не был освобожден. (Контроллер, в свою очередь, владеет меню.)
- У него есть меню.
- В меню есть делегат, и это контроллер.
Если я реализую menuWillOpen:
, этот вызывается, но вы не должны заполнять там меню.
Я попытался отправить в меню сообщение update
, но это не дало результата. Делегат остался не вызванным, а меню осталось пустым.
Если это важно: этого меню нет в главном меню; он используется в другом месте.
Почему меню не просит своего делегата заполнить его? Я что-то пропустил, или это просто сломано?
menuWillOpen:
сэкономило мне много времени. Для записи,menuDidClose:
также создает ту же проблему даже для установки свойстваenabled
пункта меню. Единственное, что работает, этоmenuNeedsUpdate:
. - person eonil   schedule 15.11.2015