在OS X中对NSWindowController或NSViewController进行子类化

时间:2016-08-07 00:35:29

标签: swift macos viewcontroller nswindowcontroller

我认为我真的不知道如何通过故事板中的视图控制器和窗口控制器来管理视图和窗口。

这是我的问题: 我有一个带有mainView的窗口,由myMainViewController管理。 我想要做的就是在mainView中创建一个按钮来显示另一个窗口(包含另一个视图)并将数据从myMainViewController发送到另一个视图。 使用故事板,我拖动一个窗口控制器(及其关联的视图)并将按钮连接到窗口(和performsegue)。 但我怎么能从myMainViewController访问anotherView的控件?

  • 我应该创建anotherWindowController班级还是anotherViewController班级?
  • 第二种情况,我如何通过myMainViewController
  • 访问它
  • 我是否应该同时创建它们,即使我无法管理另一个窗口(只有它的视图)?

基本上,mainView上的按钮应该将图像和字符串发送到嵌入另一个窗口的另一个视图。我确定这很明显,但我对Apple文档有点困惑,不太清楚......

由于

约什

1 个答案:

答案 0 :(得分:0)

看起来你需要: 1)创建新的自定义视图控制器(子类nsviewcontroller的新类) 2)在其中创建两个属性(一个用于图像,另一个用于字符串)

    var myImage: NSImage!
    var myText: NSString!

3)按下按钮后,在目标中,您需要创建新类的新对象作为变量,并通过它访问创建的属性

   var secondController = SecondViewController()
   secondController.myImage = //set your image
   SecondController.myText = //set your string

4)现在呈现你的第二个视图控制器(使用presentViewController),现在你可以在打开的viewController的方法viewDidLoad中使用所需的属性