SwiftUI 中级之基于ObservableObject传递数据到每个视图
发布时间
阅读量:
阅读量
神奇到ObservableObject可以现实所以组件的数据一致性,而且可以实现自动更新
代码
import SwiftUI
class PageModel:ObservableObject {
@Published var items:[String] = ["a","b","c"]
@Published var activeFlag:Int = 0 {
didSet{
items.append("\(self.activeFlag)")
}
}
func fetch(){
items.append("\(self.activeFlag)")
}
}
struct ContentView: View {
// @State var activeFlag:Int = 0
// @State var items:[String] = ["a","b","c"]
@ObservedObject var fetcher = PageModel()
// @State var activeFlag:Int = fetcher.activeFlag
var body: some View {
VStack{
Button(action:{
print("hello")
self.fetcher.activeFlag = self.fetcher.activeFlag + 1
//self.fetcher.fetch()
}){
Text("数据源")
}
DemoList(fetcher: self.fetcher)
}
}
}
struct DemoList: View {
@ObservedObject var fetcher:PageModel
var body: some View {
VStack {
List {
ForEach(fetcher.items,id:\.self) { item in
Text(item)
}
}
}
}
}
代码解读
更多SwiftUI教程和代码关注专栏
QQ:3365059189
SwiftUI技术交流QQ群:518696470
- 请关注我的专栏icloudend, SwiftUI教程与源码
https://www.jianshu.com/c/7b3e3b671970
全部评论 (0)
还没有任何评论哟~
