如果在应用程序中插入值而不是在“让我们说更喜欢顺序”中插入一个大值,那么它是正确的,但它看起来不太好。
例如,如果第二个 Textfield (userData.Rent) 在第一个 Textfield(userData.BPrice) 之前填充,“return Brutto”的值为 24,000 % ...
如何将计算值限制为某个值,例如不能高于 20% 或任何其他值。但低于这个值,它会自由移动。
它应该或多或少停在让我们说 20%
// 内容视图:
struct ContentView: View {
@EnvironmentObject var userData: UserData
var Brutto: Double{
let price = Double(userData.BPrice) ?? 0
let rent = Double(userData.Rent) ?? 0
let Brutto = rent * 12 / price * 100
return Brutto
}
var body: some View {
VStack {
Text ("\(Brutto, specifier: "%.1f")")
}
VStack{
TextField("BPrice", text: $userData.BPrice)
.keyboardType(.decimalPad)
}
VStack{
TextField("Rent", text: $userData.Rent)
.keyboardType(.decimalPad)
}
}
// 用户数据文件:
class UserData : ObservableObject {
private static let userDefaultBPrice = "BPrice"
private static let userDefaultRent = "Rent"
@Published var BuyingPrice = UserDefaults.standard.string(forKey: UserData.userDefaultBPrice) ?? ""
{
didSet {
UserDefaults.standard.set(self.BPrice, forKey: UserData.userDefaultBPrice)
}
}
@Published var Rent = UserDefaults.standard.string(forKey: UserData.userDefaultRent) ?? "" {
didSet {
UserDefaults.standard.set(self.Rent, forKey: UserData.userDefaultRent)
}
}
private var canc: AnyCancellable!
}
谢谢