cluster1 Asked: 2024-06-01 15:53:55 +0800 CST2024-06-01 15:53:55 +0800 CST 2024-06-01 15:53:55 +0800 CST SwiftUI:id 修饰符与标签修饰符 772 从文档的内容来看,它们似乎实现了类似的目的。 SwiftUI 中的 id 修饰符和 tag 修饰符有什么区别? 我什么时候该用哪个? 1 个回答 Voted Best Answer malhal 2024-06-01T17:07:29+08:002024-06-01T17:07:29+08:00 用于.tag(_:)选择。标签和Picker文档解释了这一点。可能令人困惑的是,如果未设置,则将使用代替。tagForEachidtag 用于.id(_:)覆盖View身份。例如,如果您在显示id此描述的 UI 后更改了View,SwiftUI 将拆除所有 UI 对象,清除所有状态,然后重建,就好像它是完全不同的 UI 一样。一般来说,它是不需要的,但是需要强制重新加载View未正确更新的错误实现,例如,需要它,PhotosPicker因为在更改照片和视频之间的匹配参数时它不会更新。默认情况下,View身份是层次结构中的路径View,每个身份都id构成该路径。
用于
.tag(_:)
选择。标签和Picker文档解释了这一点。可能令人困惑的是,如果未设置,则将使用代替。tag
ForEach
id
tag
用于
.id(_:)
覆盖View
身份。例如,如果您在显示id
此描述的 UI 后更改了View
,SwiftUI 将拆除所有 UI 对象,清除所有状态,然后重建,就好像它是完全不同的 UI 一样。一般来说,它是不需要的,但是需要强制重新加载View
未正确更新的错误实现,例如,需要它,PhotosPicker
因为在更改照片和视频之间的匹配参数时它不会更新。默认情况下,View
身份是层次结构中的路径View
,每个身份都id
构成该路径。