我在操场上学到了很多Swift的基础知识。这个问题仍然很基本所以请耐心等待。 归结为:
顶级表达式在哪里?那里最好的礼仪是什么?
说我想创建一个只打印“Hello world”的应用程序到控制台。我在哪里放置print("Hello World")
函数?
具有@UIApplicationMain
属性的AppDelegate似乎有这项工作。但我只是通过删除所述属性,创建一个main.swift
文件并将其放在那里来获得顶级表达式。
我正在尝试使用iOS-App
答案 0 :(得分:1)
请检查iOS应用程序生命周期AppCycle。启动应用程序时会执行didFinishLaunchingWithOptions方法。我建议你把你的代码放在该函数中。
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
它是您实际创建mainWindow和rootViewController的起点,但您也可以执行其他执行并将print语句放在该函数中!如果您使用的是故事板,则会自动为您完成。然后将代码放在连接到故事板的ViewController类中
以下是应用程序生命周期:
应用-国家强>
未投放 该应用程序尚未启动或正在运行,但已被系统终止。
<强>无效强> 该应用程序在前台运行,但目前没有接收事件。 (它可能正在执行其他代码。)应用程序通常只在短暂转换到不同状态时保持此状态。
有效强> 该应用程序正在前台运行并正在接收事件。这是前台应用程序的正常模式。
<强>背景强> 该应用程序在后台并执行代码。大多数应用程序会暂停进入此状态。但是,请求额外执行时间的应用程序可能会在此状态下保留一段时间。此外,直接启动到后台的应用程序进入此状态而不是非活动状态。有关如何在后台执行代码的信息,请参阅后台执行。
<强>暂停强> 该应用程序在后台,但没有执行代码。系统会自动将应用程序移动到此状态,并且在执行此操作之前不会通知它们。暂停时,应用程序仍保留在内存中,但不执行任何代码。 当出现内存不足的情况时,系统可能会清除已暂停的应用程序,恕不另行通知,以便为前台应用程序腾出更多空间。
以下是您在Appdelegate类中找到的其他状态转换
应用程序:willFinishLaunchingWithOptions: - 此方法是您的应用在发布时首次执行代码的机会。
应用程序:didFinishLaunchingWithOptions: - 此方法允许您在向用户显示应用程序之前执行任何最终初始化。
applicationDidBecomeActive: - 让您的应用知道它即将成为前台应用。使用此方法进行最后一分钟准备。
applicationWillResignActive: - 让您知道您的应用正在转变为前台应用。使用此方法可将您的应用置于静止状态。
applicationDidEnterBackground: - 让您知道您的应用现在正在后台运行,并且可能随时被暂停。
pplicationWillEnterForeground: - 让您知道您的应用已移出背景并返回前台,但尚未激活。
applicationWillTerminate: - 让您知道您的应用已被终止。如果您的应用被暂停,则不会调用此方法。
(从苹果网站上获取的生命周期和转换说明)