Bunun içinde yaşadığımız bu cesur yeni SwiftUI dünyasında bir antipattern olup olmadığından emin değilim, ancak temelde, görünümlerimin arayabileceği bazı temel kullanıcı bilgileriyle bir @EnvironmentObject var.
Ayrıca bu görünüm için gerekli bazı verilere sahip bir @ObservedObject var.
Görünüm görüntülendiğinde, @ObservedObject başlatmak için @EnvironmentObject kullanmak istiyorum:
struct MyCoolView: View {
@EnvironmentObject userData: UserData
@ObservedObject var viewObject: ViewObject = ViewObject(id: self.userData.UID)
var body: some View {
Text("\(self.viewObject.myCoolProperty)")
}
}
Ne yazık ki başlatmadan sonra kadar çevre değişkeni kendini çağıramıyorum:
"Özellik başlatıcısı içinde 'userData' örnek üyesi kullanılamaz; özellik başlatıcıları 'self' kullanılabilir olmadan önce çalışır."
İleride birkaç olası rota görebiliyorum, ama hepsi hack gibi hissediyorum. Buna nasıl yaklaşmalıyım?
Bunu denedim ve biraz garip bir hata var:
—
snarik
Property wrappers are not yet supported on local properties
Temelde onun bir init yönteminde @ObservedObject oluşturamıyorum diyor.
init
.