Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I create array conformed to ObservableObject?

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

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

above code error message :

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

I need array conformed to ObservableObject because i need to detect size property of Group in [Group]

How to make array of ObservableObject(ObservedObject)

like image 645
koreaMacGuy Avatar asked May 25 '26 19:05

koreaMacGuy


1 Answers

I am not sure how to solve this problem directly but one way to solve your problem would be something like a GroupStore which holds your array. That could look like this:

class GroupStore: ObservableObject {

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

And then in your View you add the GroupStore property like this:

struct content: View {

    @ObservedObject var groupStore: GroupStore
    .
    .
    .
}
like image 132
Teetz Avatar answered May 27 '26 15:05

Teetz



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!