今天我试图从头开始构建一个应用程序,向 ChatGPT 征求意见。我想第一次尝试创建一个基于 IOS 16 的 100% SwiftUI 应用程序。
技术选择
我想在 SwiftUI 中创建一个应用程序,采用模块化、多语言的方法,采用 mvvm 架构并使用协调器。
所以我问我如何创建一个满足我要求的应用程序:
答案对我来说似乎是正确的,所以我开始思考如何具体地制定这些步骤。
创建项目——代号曼哈顿
正如我们所说,该项目完全使用 swiftUI 并将 ios 16 作为最低版本。
现在该项目在本地使用一个主应用程序和 2 个 swift 包。
正如 ChatGPT 所建议的那样,我创建了一个核心模块,该模块将仅包含协议,因此包含用于与不直接已知的功能模块进行通信的接口。所以我们有 ManhattanCore 模块,它是 ManhattanLogin 的依赖项,它主要导入到主机应用程序中。
生成模块后,我开始在其中工作。在曼哈顿核心模块中,我声明了一种用于协调器的协议和一种用于视图模型的协议:
import Foundation
import SwiftUIpublic protocol ManhattanCoordinatorProtocol: AnyObject {var childCoordinator: [any