2010-05-27 3 views
0

Предполагая, что button1 является NSPopUpButton Предполагается, что меню, прикрепленное к кнопке 1, отображается и отслеживается.rejectPopUp не распознается

[[кнопка1 cell] увольнениеPopUp] --- rejectPopUp не распознается.

Почему метод rejectPopUp не распознается?

Благодаря

ответ

0

Поскольку NSCells не реагируют на dismissPopUp сообщений.

Если вы используете это как исключение во время выполнения, убедитесь, что button1 действительно является всплывающей кнопкой, то есть убедитесь, что вы подключили эту розетку к нужному объекту в IB или что вы назначили правый объект там, если вы создали его в коде. В последнем случае используйте отладчик для проверки переменной.

Если это всего лишь предупреждение, которое вы получаете от компилятора, это, вероятно, потому, что cell - это метод NSControl (супер-класс суперпроцессора NSPopUpButton) и вводится как возвращающий NSCell. Компилятор не знает, что этот конкретный элемент управления вернет NSPopUpButtonCell. Решение состоит в том, чтобы присвоить результат cell сообщения к переменной, введенной как NSPopUpButtonCell *, а затем отправить сообщение dismissPopUp к объекту в этой переменной:

NSPopUpButtonCell *cell1 = [button1 cell]; 
[cell1 dismissPopUp]; 

Если вы все еще получаете предупреждение, вы должны будете добавьте явное выражение перед выражением [button1 cell].

 Смежные вопросы

  • Нет связанных вопросов^_^