将字符串转换为Double|SwiftUI时出现问题



我刚刚开始编码,我想将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)! }
}
} 

´´

最新更新