# suixinkan ## 项目概览 这是一个 **Swift + UIKit** 的 iOS 工程,采用 **MVVM** 设计模式。 ## 平台与设备 - **最低系统版本**:iOS 16 - **设备**:仅支持 iPhone(`TARGETED_DEVICE_FAMILY = 1`) - **屏幕方向**:仅竖屏(Portrait) 开发时请遵守以上约束,不要引入 iPad 专属布局、横屏适配或低于 iOS 16 的 API。 ## 架构(MVVM) 按 MVVM 分层组织代码,职责清晰: | 层级 | 职责 | |------|------| | **View** | `UIViewController` / 自定义 `UIView`,负责 UI 展示与用户交互,不包含业务逻辑 | | **ViewModel** | 处理业务逻辑与状态,向 View 暴露可绑定的数据;不直接引用 UIKit 视图 | | **Model** | 数据模型、网络/本地数据源 | ### 约定 - View 通过 ViewModel 获取数据并响应用户操作,避免在 ViewController 中写复杂业务逻辑 - ViewModel 不依赖 `UIViewController` 或具体 View 类型 - 新增功能时,优先创建对应的 Model、ViewModel、View(Controller)文件,保持结构一致 ## 技术栈 - **语言**:Swift - **UI 框架**:UIKit(Storyboard / 代码布局均可,与现有工程保持一致) - **入口**:`AppDelegate`、`SceneDelegate`、`Main.storyboard` ## 开发注意 - 使用 iOS 16+ 可用 API;如需兼容更低版本,需先与项目维护者确认 - UI 按竖屏 iPhone 设计,无需考虑横屏与 iPad 分屏 - 保持代码简洁,遵循现有命名与目录风格