gpt4 book ai didi

cocoa - 使用 NSViewController 加载 Nib 后...如何访问 Nib 中的 NSButton?

转载 作者:行者123 更新时间:2023-12-03 17:18:00 25 4
gpt4 key购买 nike

我已经将 NSViewController 子类化,并将 IBOutlets 挂接到辅助 Nib 中的 NSButton 中。

我可以实例化 NSViewController 并在 NSMenu 中应用 View ——效果很好——但是如何访问按钮来更改其标题?

由于 NSViewController 有 IBOutlets,我假设我会通过 Controller 来完成此操作。

//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. 您的意思是向 View Controller 发送一条消息,并将 setTitle: 的结果作为其参数传递,但您忘记了选择器。我发现这不太可能,因为 NSButton 的 setTitle: 不会返回任何内容。
  2. 您的意思是从 View Controller 获取按钮,然后向按钮发送 setTitle: 消息。假设此 View Controller 是 NSViewController 子类的实例,您已在其中添加了 toDoButton 属性,请使用 [[viewController toDoButton] setTitle:someStringHere][viewController.toDoButton setTitle:someStringHere].

关于cocoa - 使用 NSViewController 加载 Nib 后...如何访问 Nib 中的 NSButton?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1809656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com