1
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 的 size 属性

如何制作数组ObservableObject(ObservedObject)

4

1 回答 1

8

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

class GroupStore: ObservableObject {

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

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

struct content: View {

    @ObservedObject var groupStore: GroupStore
    .
    .
    .
}
于 2020-01-17T12:47:49.983 回答