我已经将IBOutlets子类化为NSViewController,并将其钩在辅助笔尖的NSButton中。

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

由于NSViewController具有IBOutlet,因此我假设我将通过控制器执行此操作。

//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:…])和方括号,但是缺少选择器。因此,这不是有效的消息表达式。

有两种可能性:


您的意思是发送一条消息到视图控制器,将setTitle:的结果作为参数传递,而您却忘记了选择器。我发现这不太可能,因为NSButton的setTitle:不返回任何内容。
您的意思是从视图控制器获取按钮,然后向按钮发送setTitle:消息。假设此视图控制器是NSViewController子类的实例,在其中添加了toDoButton属性,请使用[[viewController toDoButton] setTitle:someStringHere][viewController.toDoButton setTitle:someStringHere]

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

10-11 22:10