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