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

正如交互式小说翻译所说,“这似乎缺少一个动词。”

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

有两种可能性:

  1. 您的意思是向视图控制器发送消息,将 setTitle:的结果作为参数传递,您忘记了选择器。我发现这不太可能,因为NSButton的 setTitle:不会返回任何内容。
  2. 您的意思是从视图控制器获取按钮,然后向按钮发送 setTitle:消息。假设此视图控制器是NSViewController的子类的实例,您在其中添加了 toDoButton 属性,请使用 [[viewController toDoButton] setTitle:someStringHere] 或< code> [viewController.toDoButton setTitle:someStringHere] 。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top