SwiftUI 偏好设置

主要观点:SwiftUI 中多数数据流结构向下传递数据,而偏好(Preferences)则相反向上传递数据,其由默认值和归约函数定义,归约函数需注意避免错误,文档对此说明不足。同时介绍了PreferenceKeyreduce方法及相关注意事项,如不能简单用value = nextValue(),要考虑当前和下一个值等,还提到归约顺序并非总是按视图树顺序。

关键信息

  • 偏好定义包含默认值和归约函数。
  • reduce方法的错误示例及原因。
  • 动态内容会导致偏好归约方法调用默认值。
  • 归约方法应避免总是忽略当前或下一个值。
  • 可利用偏好让 SwiftUI 的图形为用户界面工作,如ViewThatFits和数据验证示例。

重要细节

  • ViewThatFitsreduce方法在某些情况下不被调用,可能是个 bug 但易规避。
  • Compose屏幕的线程编辑示例中,通过偏好管理线程状态。
  • 注意归约顺序并非总是视图树顺序,需谨慎依赖。
阅读 26
0 条评论