В следующем приложении resultString
- это вычисляемое свойство, которое преобразует строку в Int. Это выражение является необязательным, поскольку String может быть чем угодно, когда мы пытаемся.
import SwiftUI
struct ContentView: View {
@State private var num: Int = 0
@State private var text: String = "0"
private var resultInt: Int {
return self.num*self.num
}
private var resultString: String {
if let num = Int(self.text) { // Here it convert the string to an integer
return String(num*num)
}
return "0"
}
var body: some View {
VStack {
TextField("String Number",text: self.$text)
.textFieldStyle(RoundedBorderTextFieldStyle())
TextField("Int Number", value: self.$num, formatter: NumberFormatter())
.textFieldStyle(RoundedBorderTextFieldStyle())
Spacer()
Text("Square is \(self.resultInt)").font(.title)
Text("Square is \(self.resultString)").font(.title)
Spacer()
}.padding()
}
}
@ rick-h прокомментируйте, если вам нужно разъяснение