加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

macos – 如何将数据从NSWindowController传递到NSViewControlle

发布时间:2020-12-14 05:44:40 所属栏目:百科 来源:网络整理
导读:我的NSWindowController类中有一个NSToolBar按钮的IBOutlet,这是我的主窗口类: class MainWindowController: NSWindowController { @IBOutlet weak var myButton: NSButton! // ...} 我有一个类MainViewController,它是主窗口的内容NSViewController. 如何
我的NSWindowController类中有一个NSToolBar按钮的IBOutlet,这是我的主窗口类:
class MainWindowController: NSWindowController {

    @IBOutlet weak var myButton: NSButton!

    // ...
}

我有一个类MainViewController,它是主窗口的内容NSViewController.

如何在我的内容NSViewController中访问此按钮?有没有更好的方法来组织IBOutlets和控制器来促进这种访问?

这样使用委托怎么样?此示例将更改按钮的标题.
@objc protocol SomeDelegate {
    func changeTitle(title: String)
}

class ViewController: NSViewController {

    weak var delegate: SomeDelegate?

    @IBAction func myAction(sender: AnyObject) {
        delegate?.changeTitle("NewTitle")
    }

}

class MainWindowController: NSWindowController,SomeDelegate {

    @IBOutlet weak var myButton: NSButton!

    override func windowDidLoad() {
        super.windowDidLoad()

        // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
        let myVc = window!.contentViewController as! ViewController
        myVc.delegate = self

    }

    func changeTitle(title: String) {
        myButton.title = title
    }

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读