我刚刚开始编码,我想将Int变量转换为Double变量。但当我尝试使用此代码时,它给了我错误:Cannot use instance member 'myInt' within property initializer; property initializers run before 'self' is available
import SwiftUI
struct CalculatorWeb: View {
var myInt = "325"
var myDouble = Double(myInt)
var body: some View {
Text(myDouble)
}
}
Text
需要String
,所以让我们做一个字符串
var body: some View {
Text("(myDouble)") // << here !!
}
并使相关性质可计算
var myDouble: Double { // << here !!
Double(myInt)
}
当ContentView
和主体之间的位置,您的变量在那里定义它时,这个位置被称为Init。运行Init进程时,变量不能相互使用。但别难过,有办法解决的。
代码:
´´
import SwiftUI
struct CalculatorWeb: View {
var myInt = "325"
@State var myDouble: Double = 0.0
var body: some View {
Text(String(myDouble))
.onAppear{ myDouble = Double(myInt)! }
}
}
´´