gpt4 book ai didi

swift - 在加载 View 之前如何在 SwiftUI 中初始化值?

转载 作者:行者123 更新时间:2023-12-04 09:49:21 25 4
gpt4 key购买 nike

我想说一个股票价格,然后在二维数组中生成 0.05% 以内的值。

我正在传递股票信息,例如股票名称和股票价格。

但是,当我尝试运行一个创建二维值数组的方法时,我遇到了“无法在属性初始值设定项中使用实例成员 '';属性初始值设定项在 'self' 可用之前运行”

我正在寻找如何解决这个问题。

假设亚马逊股票为 2400。此数据传递到新 View 中。我想要做的是创建一个 2400 附近值的二维数组,可能是 2405 和 2395。我想要在新 View 中生成这些值的二维数组。但是我收到一个错误,在加载 View 之前我无法生成值,但我需要它们来生成 View 。

我想我必须使用 init 方法,但我不确定如何使用。

这是引发上述错误的行。

var new_prices = generateValues(price: position.stock_price)

这是方法
func generateValues(price: Double) -> [[Double]] {
var values = [[Double]]()
for x in 1...5 {
values[0][x-1] = (price + price * 0.005 * Double(x))
}
return values
}

这是在股票位置传递的内容
struct Position : Identifiable {
var id = UUID()
var stock_name: String
var stock_ticker: String
var stock_price: Double
var price_paid: Double

}

传递的参数在没有参数 init() 时抛出错误。
struct PositionDetail_Previews: PreviewProvider {
static var previews: some View {
PositionDetail(position: Position(stock_name: "Amazon",
stock_ticker: "AMZN", stock_price : 2400, price_paid : 2300))
}
}

最佳答案

你可以做

struct ContentView: View{
@State var new_prices = [[Double()]]
init () {
new_prices = generateValues(price: position.stock_price)
}
var body: some View{
your view...
}
}

关于swift - 在加载 View 之前如何在 SwiftUI 中初始化值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62034309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com