SwiftUI Xcode 11 beta 7 @Binding for collections 正在打破预览
Posted
技术标签:
【中文标题】SwiftUI Xcode 11 beta 7 @Binding for collections 正在打破预览【英文标题】:SwiftUI Xcode 11 beta 7 @Binding for collections is breaking preview 【发布时间】:2019-08-29 16:00:12 【问题描述】:这在 beta 7 之前一直有效。似乎当我想将集合中的一个元素作为绑定传递到另一个视图时,预览会被破坏
我遵循了发布说明 @Binding 不再符合收集协议 comments are at the bottom
我在 beta 7 中有 Catalina 和 xcode
家长:
struct SimpleStructure
var label: String
struct ContentView: View
@State private var myVariables = [SimpleStructure(label: "hello")]
var body: some View
ChildView(myVariables: $myVariables)
孩子
struct ChildView: View
@Binding var myVariables: [SimpleStructure]
var body: some View
List(myVariables.indexed(), id: \.1.label) (index, variable) in
GrandChildView(myVariable: self.$myVariables[index])
孙子
struct GrandChildView: View
@Binding var myVariable:SimpleStructure
var body: some View
Text(myVariable.label)
更新:
Beta 8 仍然存在问题
【问题讨论】:
【参考方案1】:发行说明有错字。你需要改变:
var endIndex: Index base.startIndex
与
var endIndex: Index base.endIndex
【讨论】:
不错的收获!修复错字后,错误似乎仍然存在。【参考方案2】:不知道,这个问题解决了吗?如果没有,也许这会有所帮助:
struct ChildView: View
@Binding var myVariables: [SimpleStructure]
var body: some View
List(myVariables.indices) index in
GrandChildView(myVariable: self.$myVariables[index])
如果已解决,请标记正确答案,或自行在此处提供解决方案,以防您在此期间找到了解决方案。
【讨论】:
使用.indices
仍然无法使用【参考方案3】:
该问题已在 SwiftUI Beta 10 中得到修复
【讨论】:
以上是关于SwiftUI Xcode 11 beta 7 @Binding for collections 正在打破预览的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI dyld:找不到符号:_$s7SwiftUI7BindingVyxGAA0C11ConvertibleAAMc Xcode 11 beta 5
MR_importFromObject 方法在 XCode 7.1 beta (Swiftui 2.0) 中不起作用
如何在数组大小更改后刷新 ForEach 显示元素的数量(SwiftUI,Xcode 11 Beta 5)
未找到 SwiftUI 符号:_$s7SwiftUI9TextFieldVAA4ViewAAMc Xcode 11 beta 3
在 Xcode11 Beta 4 中将 String(format: , args) 与 SwiftUI 一起使用时出错