How does OS X load a storyboard based app, and how does it do window management?

前端 未结 1 1506
逝去的感伤
逝去的感伤 2021-02-06 04:15

I\'m working on a brand new OS X app, and I\'ve taken the daring route of working with a few technologies I haven\'t used much before. (I\'m an iOS developer.)

I\'m usin

相关标签:
1条回答
  • 2021-02-06 04:47
    1. No. Checking the "Create Document-Based Application" is what made it a document based app. The decision to use Core Data is separate.

    2. The Storyboard you get when you make an OS X Document based app is a bit atypical. Notice that there is no arrow in the storyboard telling you where the entry point it. What happens is "Document" is instantiated. It has a method:

      override func makeWindowControllers() {
          // Returns the Storyboard that contains your Document window.
          let storyboard = NSStoryboard(name: "Main", bundle: nil)!
          let windowController = storyboard.instantiateControllerWithIdentifier("Document Window Controller") as NSWindowController
          self.addWindowController(windowController)
      }
      

    It goes looking in the storyboard for a controller with the identifier @"Document Window Controller" (which just so happens is that window controller). Document keeps a collection of windowControllers. so Document instantiates it and adds the windowController to that list.

    So Document already has a reference to the window controller in Document.windowControllers

    (Can someone tell me WHY the Document gets created though? I can't see what actually triggers its creation)

    0 讨论(0)
提交回复
热议问题