1.15 状态修饰符
2 分钟阅读
原文链接: https://developer.apple.com/documentation/swiftui/view-state
1.15 状态修饰符
访问存储,并向子视图提供配置数据。
概述
SwiftUI 提供了在应用中管理数据的工具。例如,你可以在视图层级中各视图共享的环境里存储值和对象。任何共享该环境的视图——通常是存储该项的视图的所有后代视图——都可以访问所存储的项。
关于 SwiftUI 提供的、帮助你管理应用数据的类型,参见模型数据。
身份
- tag(_:includeOptional:) —— 设置该视图的唯一标签值。
- id(_:) —— 把视图的身份绑定到给定的代理值。
- equatable() —— 当新值与旧值相同时,阻止视图更新其子视图。
环境值
- environment(_:) —— 把一个可观察对象放入视图的环境中。
- environment(::) —— 把指定键路径的环境值设为给定值。
- environmentObject(_:) —— 为视图层级提供一个可观察对象。
- transformEnvironment(_:transform:) —— 用给定函数转换指定键路径的环境值。
偏好
- preference(key:value:) —— 为给定偏好设置一个值。
- transformPreference(::) —— 对某个偏好值应用一次变换。
- anchorPreference(key:value:transform:) —— 为指定的偏好键设置一个值,该值是与当前坐标空间关联的几何值的函数,使该值的读取者可以把几何信息转换到自己的本地坐标中。
- transformAnchorPreference(key:value:transform:) —— 为指定的偏好键设置一个值,该值是键的当前值与绑定到当前坐标空间的几何值的函数,使该值的读取者可以把几何信息转换到自己的本地坐标中。
- onPreferenceChange(_:perform:) —— 添加当指定偏好键的值变化时要执行的动作。
- backgroundPreferenceValue(::) —— 从视图中读取指定的偏好值,用它生成第二个视图,并把它作为原视图的背景。
- backgroundPreferenceValue(:alignment::) —— 从视图中读取指定的偏好值,用它生成第二个视图,并把它作为原视图的背景。
- overlayPreferenceValue(::) —— 从视图中读取指定的偏好值,用它生成第二个视图,并把它作为原视图的叠加层。
- overlayPreferenceValue(:alignment::) —— 从视图中读取指定的偏好值,用它生成第二个视图,并把它作为原视图的叠加层。
默认存储
- defaultAppStorage(_:) —— 该视图内
AppStorage使用的默认存储。
配置模型
- modelContext(_:) —— 在该视图的环境中设置模型上下文。
- modelContainer(_:) —— 在该视图的环境中设置模型容器及关联的模型上下文。
- modelContainer(for:inMemory:isAutosaveEnabled:isUndoEnabled:onSetup:) —— 在该视图中设置用于存储所提供模型类型的模型容器(必要时创建新容器),并在该视图的环境中为它设置模型上下文。