我有一个由 3 部分组成的选择器,我试图使一个选择器的值基于另一个选择器的值。特别是添加/删除“天”、“周”等末尾的 s。我读过一篇关于此类情况的类似文章(此处),但针对 IOS 14+ 部署提出的 Apple 解决方案不起作用。鉴于另一个问题主要关注 14 年前的解决方案,我认为开始一个新问题会更有帮助。
谁能解释一下为什么 .onChange 永远不会被调用? 我在那里设置了一个断点,当中间轮值在 1 和任何其他值之间变化时,它永远不会被调用。
非常规的 init 只是为了封装从较大项目中删除的代码。另外,我在下面的代码中注释了第三个选择器的 .id,但如果剩下的唯一问题是第三个选择器更新更改,则可以取消注释。
import SwiftUI
enum EveryType:String, Codable, CaseIterable, Identifiable {
case every="Every"
case onceIn="Once in"
var id: EveryType {self}
var description:String {
get {
return self.rawValue
}
}
}
enum EveryInterval:String, Codable, CaseIterable, Identifiable {
case days = "Day"
case weeks = "Week"
case months = "Month"
case years = "Year"
var id: EveryInterval {self}
var description:String {
get …Run Code Online (Sandbox Code Playgroud)