После загрузки пера с помощью NSViewController & # 8230; Как я могу получить доступ к NSButton в перо?

StackOverflow https://stackoverflow.com/questions/1809656

Вопрос

Я создал подкласс NSViewController с IBOutlets, подключенным к NSButton во вторичном кончике.

Я могу создать экземпляр NSViewController и применить представление в NSMenu - оно прекрасно работает - но как мне получить доступ к кнопке, чтобы изменить ее заголовок?

Так как NSViewController имеет IBOutlets, я предполагал, что сделаю это через контроллер.

//this part works great
NSViewController *viewController = [[toDoViewController alloc] initWithNibName:@"toDoView" bundle:nil];
NSView *newView = [viewController view];
newMenuItem.view = newView;

//this part not so much
[viewController [toDoButton setTitle:someStringHere]];

Есть ли какие-нибудь указатели на то, куда идти дальше?

Изменить, чтобы добавить: класс toDoViewController -

@interface toDoViewController : NSViewController {
    IBOutlet NSButton *checkBoxButton;
    IBOutlet NSButton *toDoButton;
}

@end
Это было полезно?

Решение

[viewController [toDoButton setTitle:someStringHere]];

Как сказали бы интерактивные художественные переводчики: «В этом слове отсутствует глагол. & # 8221;

У вас есть получатель ( viewController ) и полное выражение сообщения ( [toDoButton setTitle: & # 8230;] ) и скобки, но вы пропустили селектор. Таким образом, это недопустимое выражение сообщения.

Есть две возможности:

<Ол>
  • Вы хотите отправить сообщение в контроллер представления, передав в качестве аргумента результат setTitle: , и вы забыли селектор. Я считаю это маловероятным, потому что setTitle: NSButton ничего не возвращает.
  • Вы хотите получить кнопку от контроллера представления, а затем отправить кнопке сообщение setTitle: . Предполагая, что этот контроллер представления является экземпляром подкласса NSViewController, в который вы добавили свойство toDoButton , используйте либо [[viewController toDoButton] setTitle: someStringHere] , либо < code> [viewController.toDoButton setTitle: someStringHere] .
  • Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top