В моем коде SwiftUI я создаю представление с именем LineView()
(это из библиотеки графиков для swift на github здесь ). Я пытаюсь сгенерировать данные из него с помощью функции firestoreManager().getUserData()
. В этом фрагменте кода много движущихся частей, и я постараюсь объяснить их. Тип данных User
является пользователем, userInfo.updateStockChart()
предоставляет обновленные данные. Однако это не важно. Важно то, что код в закрытии firestoreManager.getUserData()
запускается после кода создания LineView()
(обратите внимание, что в коде закрытия для запуска используется библиотека быстрого доступа google ). Мне нужен этот код для запуска ДО LineView()
. Любые идеи? Я пытался решить это многими способами, но поскольку VStack сильно привязан к структуре, я не уверен, как это сделать.
struct homepageView: View {
@State var data: [Double] = [0,1,2]
var body: some View {
var userInfo: User = User(username: "", name: "", portfolioID: "", friendList: [])
var theData: [Double] = self.data
firestoreManager().getUserData(collection: "Users", documentVar: "darrow_h19", documentField: "Username").then{ user in
userInfo = user
theData = userInfo.updateStockChart(portfolioID: "123456")
print(theData)
}
print(theData)
return VStack {
LineView(data: theData, title: "$XYZ", legend: "Hello World",totalPoints: 18,yPosChange: 300)
}
}
}