我的视图需要一个环境对象,它通过将它添加到 window.rootViewController 在 SceneDelegate 中设置。如何设置用于预览的环境对象?
LuL*_*aGa 30
您使用 .environmentObject(_:) 修饰符添加它:
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
.environmentObject(YourObject())
}
}
Run Code Online (Sandbox Code Playgroud)
只要environmentObject(_:)修饰符已应用于父级,此 userData 属性就会自动获取其值。
struct UserList: View {
@EnvironmentObject var userData: UserData
var body: some View {
NavigationView {
List {
Toggle(isOn: $userData.showFavoritesOnly) {
Text("Users Fav only")
}
ForEach(landmarkData) { landmark in
if !self.userData.showFavoritesOnly || landmark.isFavorite {
NavigationLink(destination: LandmarkDetail(landmark: landmark)) {
UserRow(landmark: landmark)
}
}
}
}
.navigationBarTitle(Text("Users"))
}
}
}
struct UserList_Previews: PreviewProvider {
static var previews: some View {
UserList()
.environmentObject(UserData())
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5085 次 |
| 最近记录: |