SwiftUI3.0页面反向传值

2022/1/30 23:06:17

本文主要是介绍SwiftUI3.0页面反向传值,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

SwiftUI3.0页面反向传值

SwiftUI反向传值是SwiftUI的重点之重,跟OC里面的代理,block,通知, swift里面的闭包,代理,通知 的方法类似,后者大家很熟,前者不怎么属性,必须遵守Combine 处理数据流的框架,
前者资料很少,后者资料很多

import SwiftUI
import Combine

//SwiftUI监视可观察对象(ObservableObject)的任何数据更改,并在数据更改后刷新视图。
final class UserData: ObservableObject{
    //当数据变化时发送更新后的数据给视图,视图就会刷新
    @Published var userLandmarks = landmarks
}
@EnvironmentObject var userData: UserData 不要实例化,让 外界传值,

最后
LandmarkList().environmentObject(UserData()) 传值

NavigationLink {
LandmarkDetail(landmark: landmark)
.environmentObject(userData)
} label: {
LandmarkCell(landmark: landmark)
}

定义成员属性的地方都要 进行 .environmentObject(userData)



这篇关于SwiftUI3.0页面反向传值的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程