如何创建符合ObservableObject的数组?

时间:2020-01-17 12:38:10

标签: swift environment observedobject

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

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

以上代码错误消息:

在'ObservedObject'上引用初始化程序'init(wrappedValue :)' 要求“ [Group]”符合“ ObservableObject”

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

如何制作ObservableObject(ObservedObject)

的数组

1 个答案:

答案 0 :(得分:6)

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

class GroupStore: ObservableObject {

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

然后在视图中添加如下所示的GroupStore属性:

struct content: View {

    @ObservedObject var groupStore: GroupStore
    .
    .
    .
}