【问题标题】:viewDidLoad function is not called in Xcode 6.2 swift app but called in Xcode 6.4 swift app on OS XviewDidLoad 函数未在 Xcode 6.2 swift 应用程序中调用,但在 OS X 上的 Xcode 6.4 swift 应用程序中调用
【发布时间】:2015-11-11 17:37:40
【问题描述】:

我正在为 OS X 创建新的 swift 应用程序:

1) File->New Project -> Cocoa Application -> 选择 Swift 语言,Use Storyboards 不应该被选中。

所以我在项目中看到了 MainMenu.xib 和 AppDelegate.swift 文件。

2) New File -> Cocoa Class -> Class Name: ViewController, Subclass of: NSViewController, language swift, 同样创建 Xib 文件不勾选。

所以我在项目中看到了 ViewController.swift 文件。

3) 转到 MainMenu.xib Interface Builder,它显示具有 NSView 的 NSWindow 对象。 添加 ViewController 对象,将其 Outlet“视图”连接到我的 NSView 对象。然后转到 ViewController 的 Identity Inspector 并将类设置为“ViewController”。

4) 启动应用程序

所以在 XCode 6.4 (Yosemite) 中 ViewController.swift 中的 ViewDidLoad() 函数被成功调用,但在 XCode 6.2 (Mavericks) 中它没有被调用。

如何解决?我对处理 ViewController 函数 viewDidLoad、viewDidAppear、viewDidDisapper 很感兴趣。如果不可能,我想使用一些其他函数在我的窗口出现时调用,消失......

我尝试将 File 的 Owner Class 更改为“ViewController”并将其 Outlet“view”连接到我的 NSView 对象,但它也没有帮助。

【问题讨论】:

    标签: xcode swift macos user-interface viewcontroller


    【解决方案1】:

    我是这样做的。我不确定这是否是正确的方法。无论如何它都起作用了。

    1. 打开 MainMenu.xib
    2. 如果没有 ViewController 对象,请添加。
    3. 将视图链接到 ViewController 对象。

    这样 viewDidload 将起作用。

    Xcode 版本:7.3.1, OS X 版本:10.11.4

    【讨论】:

      猜你喜欢
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-08
      相关资源
      最近更新 更多