Swift 如何将视图输入参数传递给@State变量?
我有一个基本的SwiftUI问题——我有一个需要论证的观点,在我的例子“symbolName”中,我想获取价格。我有一个类函数可以这样做,但是将view参数作为参数传递给FetchPrice不起作用。当我使用一个固定的字符串时,比如“GE”,它就起作用了。我相信有一个正确的方法可以做到这一点,谢谢你的任何提示和提示 错误: 无法在属性初始值设定项中使用实例成员“symbolNameV”; 属性初始值设定项在“self”可用之前运行 属性初始值设定项在“self”可用之前运行 打电话Swift 如何将视图输入参数传递给@State变量?,swift,view,swiftui,arguments,Swift,View,Swiftui,Arguments,我有一个基本的SwiftUI问题——我有一个需要论证的观点,在我的例子“symbolName”中,我想获取价格。我有一个类函数可以这样做,但是将view参数作为参数传递给FetchPrice不起作用。当我使用一个固定的字符串时,比如“GE”,它就起作用了。我相信有一个正确的方法可以做到这一点,谢谢你的任何提示和提示 错误: 无法在属性初始值设定项中使用实例成员“symbolNameV”; 属性初始值设定项在“self”可用之前运行 属性初始值设定项在“self”可用之前运行 打电话 FetchP
FetchPrice(symbolName: symbolNameV)
您正在访问self
。上面的代码实际上是:
FetchPrice(symbolName: self.symbolNameV)
要解决此问题,您可以创建一个自定义的init
:
struct SymbolRow2: View {
private var symbolNameV: String
@ObservedObject private var fetchPrice: FetchPrice
init(symbolNameV: String) {
self.symbolNameV = symbolNameV
self.fetchPrice = FetchPrice(symbolName: symbolNameV)
}
...
}
struct SymbolRow2: View {
private var symbolNameV: String
@ObservedObject private var fetchPrice: FetchPrice
init(symbolNameV: String) {
self.symbolNameV = symbolNameV
self.fetchPrice = FetchPrice(symbolName: symbolNameV)
}
...
}