gpt4 book ai didi

swift - AppDelegate.swift 和 Main.swift 以及如何使用它们

转载 作者:行者123 更新时间:2023-11-28 06:21:40 27 4
gpt4 key购买 nike

我在 Playground 上学到了一些 Swift 的基础知识。这个问题仍然很基本,所以请耐心等待。归结为:

顶级表达式去哪儿了?这里最好的礼仪是什么?假设我想制作一个只向控制台打印“Hello world”的应用程序。在哪里放置 print("Hello World") 函数?

具有 @UIApplicationMain 属性的 AppDelegate 似乎可以胜任这项工作。但我只有通过删除所述属性、创建一个 main.swift 文件并将其放在那里才能使顶级表达式起作用。

我正在尝试使用 iOS 应用程序执行此操作

最佳答案

请查看iOS应用生命周期AppCycle . didFinishLaunchingWithOptions 方法在您的应用程序启动时执行。我建议您将代码放在该函数中。

       func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

它是您实际创建 mainWindow 和 rootViewController 的起点,但您也可以执行其他操作并将打印语句放入该函数!如果您使用 Storyboard,这会自动为您完成。然后将代码放入连接到 Storyboard的 ViewController 类中

这是应用程序的生命周期:

enter image description here

应用状态

未运行该应用尚未启动或正在运行但被系统终止。

无效该应用程序正在前台运行,但当前未接收到事件。 (虽然它可能正在执行其他代码。)应用程序通常只会短暂地停留在该状态,因为它会转换到不同的状态。

活跃该应用程序在前台运行并正在接收事件。这是前台应用程序的正常模式。

背景该应用程序在后台执行代码。大多数应用程序在被挂起的过程中会短暂进入此状态。但是,请求额外执行时间的应用程序可能会在一段时间内保持此状态。此外,直接在后台启动的应用会进入此状态,而不是非事件状态。有关如何在后台执行代码的信息,请参阅后台执行。

暂停该应用程序在后台但未执行代码。系统会自动将应用程序移至此状态,并且在此之前不会通知它们。挂起时,应用程序保留在内存中但不执行任何代码。当出现低内存情况时,系统可能会在不通知的情况下清除暂停的应用程序,以便为前台应用程序腾出更多空间。

这是您在 Appdelegate 类中找到的其他状态转换

application:willFinishLaunchingWithOptions:—此方法是您的应用在启动时第一次执行代码的机会。

application:didFinishLaunchingWithOptions:—此方法允许您在向用户显示您的应用程序之前执行任何最终初始化。

applicationDidBecomeActive:—让您的应用知道它即将成为前台应用。将此方法用于任何最后一分钟的准备工作。

applicationWillResignActive:—让您知道您的应用正在从前台应用过渡。使用此方法将您的应用置于静止状态。

applicationDidEnterBackground:——让您知道您的应用程序现在正在后台运行,并可能随时暂停。

applicationWillEnterForeground:—让您知道您的应用正在离开后台并返回前台,但它尚未处于事件状态。

applicationWillTerminate:—让您知道您的应用程序正在终止。如果您的应用已暂停,则不会调用此方法。

(生命周期和转换的描述取自苹果网站)

关于swift - AppDelegate.swift 和 Main.swift 以及如何使用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43262520/

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