我为iPhone / iPad / Mac开发了SwiftUI应用。该应用程序列出了我的电影(第一张视图),其中包含每部电影的注释以及看过电影的信息。
我有一个JSON文件,其中包含:
我创建了一个切换开关,仅显示isShow = false的电影,但我无法将此切换开关与JSON属性链接...
这是我的项目:https://github.com/thomjlg/Films-APP
JSON文件:https://gist.githubusercontent.com/thomjlg/0782e9e8e27c346af3600bff9923f294/raw/9705fb0c6b40eae59578755b86e331bea257972b/films2.json
答案 0 :(得分:2)
我相信在保存movies
时,您不会重新加载userData
。
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())
)
init() {
fetcher.load { (movies) in
if let movies = movies {
self.movies = movies
}
}
}