young
(rtSwift)
1
(ok, I fixed this by moving the colorProvider ownership out to the caller.)
struct QuipView: View {
let date: Date
let colors: [Color]
@StateObject var colorProvider = ColorProvider(colors: colors) // <== Cannot use instance member 'colors' within property initializer; property initializers run before 'self' is available
var body: some View {
colorProvider.color
.onChange(of: date) { _ in
colorProvider.advance()
}
}
}
How to fix this?
init(date: Date, colors: [Color]) {
self.date = date
_colorProvider = .init(wrappedValue: .init(colors: colors))
}
2 Likes
young
(rtSwift)
3
Thank you! This solved my problem and allow me to keep the good structuring. I keep forgetting this trick. Wish the compiler can give out more helpful error message.