首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NSViewController加载nib后...如何访问nib中的NSButton?

使用NSViewController加载nib后...如何访问nib中的NSButton?
EN

Stack Overflow用户
提问于 2009-11-28 00:32:57
回答 1查看 1.8K关注 0票数 1

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

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

因为NSViewController有IBOutlets,所以我假设我会通过控制器来做这件事。

代码语言:javascript
复制
//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类--

代码语言:javascript
复制
@interface toDoViewController : NSViewController {
    IBOutlet NSButton *checkBoxButton;
    IBOutlet NSButton *toDoButton;
}

@end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-11-28 01:15:55

[viewController toDoButton设置标题:这里有字符串];

就像互动小说的解释者会说的那样,“这似乎缺少了一个动词。”

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

有两种可能性:

  1. 您想要向视图控制器发送一条消息,将setTitle:的结果作为其参数传递,但是您忘记了选择器。我发现这不太可能,因为NSButton的setTitle:没有返回任何东西。
  2. 你的意思是从视图控制器获取按钮,然后向该按钮发送一条setTitle:消息。假设这个视图控制器是NSViewController的一个子类的实例,您已经在其中添加了一个toDoButton属性,使用[[viewController toDoButton] setTitle:someStringHere][[viewController toDoButton] setTitle:someStringHere]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1809656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档