- 删除CreateFeedView-Analysis.md文档以简化项目结构。 - 新增UserAgreementComponent以处理用户协议的显示和交互。 - 更新多个视图中的onChange逻辑以兼容iOS 17的新API用法,确保代码一致性和可维护性。 - 在Localizable.strings中新增用户协议相关的本地化文本,提升多语言支持。
1.9 KiB
1.9 KiB
onChange iOS 17 迁移总结
概述
将项目中所有使用已弃用的 onChange(of:perform:) API 的代码修改为 iOS 17 建议的新用法。
修改内容
修改规则
- 旧用法:
onChange(of: value) { newValue in ... } - 新用法:
onChange(of: value) { oldValue, newValue in ... }
修改的文件列表
-
LoginView.swift - 3处修改
store.isAnyLoginCompleted监听showIDLogin监听showEmailLogin监听
-
MainView.swift - 3处修改
store.isLoggedOut监听path监听store.navigationPath监听
-
EMailLoginView.swift - 4处修改
store.loginStep监听email监听verificationCode监听store.isCodeLoading监听
-
RecoverPasswordView.swift - 4处修改
email监听verificationCode监听newPassword监听store.isResetSuccess监听
-
ImagePickerWithPreviewView.swift - 2处修改
viewStore.inner.isLoading监听viewStore.inner.selectedPhotoItems监听
-
EditFeedView.swift - 1处修改
store.shouldDismiss监听
-
DetailView.swift - 1处修改
store.shouldDismiss监听
-
MeView.swift - 1处修改
detailStore.shouldDismiss监听
-
IDLoginView.swift - 1处修改
store.loginStep监听
-
ContentView.swift - 1处修改
selectedLogLevel监听
总计
- 修改文件数: 10个
- 修改处数: 20处
- 状态: ✅ 完成
验证结果
通过 grep 搜索确认所有 onChange(of:perform:) 调用都已成功迁移到新 API。
注意事项
- 新 API 提供了
oldValue和newValue两个参数 - 在大多数情况下,我们只使用了
newValue参数,oldValue用_忽略 - 所有原有逻辑保持不变,只是 API 调用方式更新
- 修改后的代码完全兼容 iOS 17+ 的要求