SwiftUI App 基础使用(教程含代码)

App

表示应用程序的结构和行为的类型。

protocol App

使用教程

通过声明符合App协议的结构来创建应用。实施所需的主体计算属性以定义应用内容:

@main
struct MyApp: App {
    var body: some Scene {
        WindowGroup {
            Text("Hello, world!")
        }
    }
}

在结构的声明前加上@main属性,以表明您的自定义App协议遵循者提供了应用程序的入口点。该协议提供了main()方法的默认实现,系统会调用该方法来启动您的应用。您可以在所有应用程序文件中只有一个入口点。

由符合Scene协议的实例组成应用的主体。每个场景都包含视图层次结构的根视图,并具有由系统管理的生命周期。 SwiftUI提供了一些具体的场景类型来处理常见的场景,例如用于显示文档或设置。您还可以创建自定义场景。要在一个应用程序中包含多个场景,请将SceneBuilder属性添加到主体:

@main
struct Mail: App {
    @SceneBuilder var body: some Scene {
        WindowGroup {
            MailViewer()
        }
        Settings {
            SettingsView()
        }
    }
}

您可以在应用中声明状态以在所有场景中共享。例如,您可以使用StateObject属性来初始化数据模型,然后在视图输入中将该模型作为ObservedObject或通过环境作为EnvironmentObject提供给应用程序中的场景:

@main
struct Mail: App {
    @StateObject private var model = MailModel()

    @SceneBuilder var body: some Scene {
        WindowGroup {
            MailViewer()
                .environmentObject(model) // Passed through the environment.
        }
        Settings {
            SettingsView(model: model) // Passed as an observed object.
        }
    }
}

推荐

基础文章推荐

经典教程推荐

技术源码推荐

推荐文章

CoreData篇

Combine篇

TextField篇

JSON文件篇


一篇文章系列

技术交流

QQ:3365059189
SwiftUI技术交流QQ群:518696470

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。