iOS SwiftUI绑定自定义数组报错:Unexpected initializer in pattern; did you mean to use '='?
错误原因与修复方案
错误原因
你在声明@Binding变量时,错误地使用了数组初始化语法()来指定默认值。@Binding是SwiftUI中用于双向绑定的属性包装器,它的语法规则不允许在类型后直接用()初始化值,必须使用=来赋值,且绑定值需要符合Binding类型的要求。
修复方法
根据你的使用场景,有两种修复方式:
场景1:从父视图接收绑定值
如果这个视图需要从父视图获取数组的双向绑定,只需声明变量类型即可,不需要初始化:
@Binding var memes: [MemeModel]
在父视图中创建该子视图时,传入绑定的数组(比如父视图中有@State var parentMemes: [MemeModel] = [],则传入$parentMemes)。
场景2:需要默认的空数组绑定
如果需要给@Binding设置默认的空数组(比如用于预览或独立测试),要使用.constant()创建常量绑定:
@Binding var memes: [MemeModel] = .constant([])
内容的提问来源于stack exchange,提问作者user19559647
相关产品推荐
相关产品推荐

