如何在swiftUI列表的切换中使用json属性?
如何在swiftUI列表的切换中使用json属性?,json,swift,swiftui,toggle,Json,Swift,Swiftui,Toggle,我为iPhone/iPad/Mac开发了一个快速用户界面应用程序。该应用程序列出了我的电影(第一次观看)以及信息,如每部电影的备注以及是否看过该电影。我有一个JSON文件,其中包含: id:Int,唯一标识符 名字:字符串,电影的标题 idL:字符串,标题的第一个字符 注:Int,每个胶片的注释(0到10之间) isShow:Bool,说明这部电影是否被看过 我创建了一个切换,只显示isShow=false的电影,但我无法将此切换与我的JSON属性链接… 以下是我的项目: JSON文件:我相信在
我为iPhone/iPad/Mac开发了一个快速用户界面应用程序。该应用程序列出了我的电影(第一次观看)以及信息,如每部电影的备注以及是否看过该电影。
我有一个JSON文件,其中包含:
JSON文件:我相信在保存
电影时,不会重新加载用户数据
Toggle("Film", isOn: self.$movie.isShow)
.onTapGesture {
self.userData.fetcher.save(movies: self.userData.movies)
self.movie.isShow = !self.movie.isShow
print(self.movie.isShow)
}
fetcher.save(movies:)
只保存您的电影,但是UserData
只创建一次,电影只在init
中加载:
window.rootViewController = UIHostingController(rootView: contentView
.environmentObject(UserData())
)
谢谢你的回答,你可能是对的,我是swiftUI的初学者,我不知道该怎么做来纠正这个问题…你可以在userData中使用名为load
的函数,里面有fetcher.load
。您可以随时从视图调用它来重新加载数据。好的,谢谢,但我的问题是,当我调用self时。$movie.isShow在切换中,它不起作用。。。因为还不知道。。。你能给我解释一下吗?其中一种方法是使用@State private var isToggleOn=false
并在切换中使用它。然后使用self.movie.isShow=isToggleOn
。这就是我在想的,我在哪里写self.movie.isShow=isToggleOn
?就像我写的@State private var isToggleOn=false
?
init() {
fetcher.load { (movies) in
if let movies = movies {
self.movies = movies
}
}
}