1

我已经将 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
4

1 回答 1

1
[viewController [toDoButton setTitle:someStringHere]];

正如交互式小说解释者所说,“那似乎缺少了一个动词。”</p>

您有一个接收器 ( viewController)、一个完整的消息表达式 ( [toDoButton setTitle:…]) 和括号,但是您缺少一个选择器。因此,这不是有效的消息表达式。

有两种可能:

  1. 您的意思是向视图控制器发送一条消息,将结果setTitle:作为其参数传递,而您忘记了选择器。我觉得这不太可能,因为 NSButtonsetTitle:不返回任何东西。
  2. 您的意思是从视图控制器获取按钮,然后向按钮发送setTitle:消息。假设这个视图控制器是 NSViewController 的子类的一个实例,您在其中添加了一个toDoButton属性,请使用[[viewController toDoButton] setTitle:someStringHere][viewController.toDoButton setTitle:someStringHere]
于 2009-11-27T17:15:55.053 回答