gpt4 book ai didi

Swift OSX 运行的第一个方法是什么?

转载 作者:搜寻专家 更新时间:2023-11-01 06:18:24 25 4
gpt4 key购买 nike

这似乎是一个新手问题,但我已经为此苦苦挣扎了一段时间。我有一些代码初始化,我想在我的应用程序启动之前运行。

目前我已按如下方式设置我的 AppDelegate:

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate
{
func applicationDidFinishLaunching(aNotification: NSNotification)
{
runMyInitCode()
}
}

我的问题是我所有的目标代码都在此之前运行。在运行其他任何东西之前调用初始化方法的最佳位置在哪里?

最佳答案

您有 4 个选项(按出现顺序):

  • 覆盖 init()
  • 覆盖 awakeFromNib()
  • 委托(delegate)通知applicationWillFinishLaunching
  • 委托(delegate)通知applicationDidFinishLaunching

最佳地点取决于您的需要。

  • 如果涉及 IBOutlets,请不要将其放在 awakeFromNib 之前。
  • 如果您使用的是基于 View 的 TableView ,请不要将它放在 awakeFromNib 中,因为它可能会被多次调用。
  • 注册 NSUserDefaults 可以放在任何地方。
  • 同时考虑惰性初始化。
  • 同时考虑 Cocoa 绑定(bind)。

关于Swift OSX 运行的第一个方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39253327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com