NSTextField
在基于文档的应用程序中,我使用 10.10 的新 API 在文档窗口的标题栏中添加了一个标签 ( ):
我从我的 mainNSViewController
中调用它,我可以免费控制窗口附带的主视图:
class MasterViewControler: NSViewController {
@IBOutlet weak var window: NSWindow!
override func viewDidLoad() {
super.viewDidLoad()
window.addTitlebarAccessoryViewController(TitleBarSubviewControler(nibName: "TitleBarSubview", bundle: NSBundle.mainBundle())!)
}
因此,按照文档的建议,将包含我的标签的自定义视图加载到我的标题栏中。到目前为止一切都很好。
现在在某些时候,我必须在运行时访问该标签以从我的应用程序中的某个位置更改它的字符串值。
我尝试为控制子视图IBOutlet
的标签添加一个NSTitlebarAccessoryViewController
,并且正如预期的那样,NSTitlebarAccessoryViewController
我可以操作标签stringValue
。但我不能从那里做太多。
我尝试在 中创建一个 设置标签字符串的函数,并通过from myNSTitlebarAccessoryViewController
的全局实例访问该函数,但是虽然我可以访问此函数并将其传递给字符串,但函数中标签的引用总是展开为无(崩溃)。NSTitlebarAccessoryViewController()
mainViewControler
IBOutlet
那么为什么当从函数所在的类中的任何地方访问时,出口在函数中解包为 nil 呢?
我必须能够从控制器访问标签或在我的 windows 中查看mainView
。
我怎样才能做到这一点..?