swift - 如何创建符合 ObservableObject 的数组?

标签 swift environment observedobject

class Group: ObservableObject {
    @Published var size: CGFloat = 22
}

struct content: View {
    @ObservedObject var groups: [Group] = []
    var body: some view {
        .
        .
        .
  }
}

以上代码错误信息:

Referencing initializer 'init(wrappedValue:)' on 'ObservedObject' requires that '[Group]' conform to 'ObservableObject'

我需要符合 ObservableObject 的数组,因为我需要检测 [Group] 中 Group 的大小属性

如何制作ObservableObject(ObservedObject)的数组

最佳答案

我不确定如何直接解决这个问题,但解决您的问题的一种方法是使用 GroupStore 来保存您的数组。这可能看起来像这样:

class GroupStore: ObservableObject {

    @Published private(set) var groups: [Group] = []
    .
    .
    .
}

然后在您的 View 中添加 GroupStore 属性,如下所示:

struct content: View {

    @ObservedObject var groupStore: GroupStore
    .
    .
    .
}

关于swift - 如何创建符合 ObservableObject 的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59787507/

相关文章:

swift - 使用 Swift 进行正向地理编码

Maven ear 插件多个 Artifact 内容

javascript - 为 mongo 运行 JavaScript 文件访问字段值的正确语法是什么

mvvm - 将 @ObservableObject 传递给嵌套 View

swiftui - @EnvironmentObject 和 @ObservedObject 有什么区别?

arrays - 如何在 UIPickerView 中显示所需的行?

swift - UIViewController 未加载属性检查器中指定的 DAE 文件

r - 有效地将环境从内部功能转移到全局环境

ios - 计时器给我随机数作为返回