gpt4 book ai didi

sqlite - 允许 SQLite INSERT 对于 Integer 是可选的 (Swift 3)

转载 作者:行者123 更新时间:2023-12-02 00:08:11 26 4
gpt4 key购买 nike

我使用下面的插入行来保存来自 IB 的数据,但按照目前的方式,所有 Int 字段都必须填写,否则我会收到“找到可选的 nil”错误。我该如何设置才能不需要带有整数的字段?

@IBOutlet weak var diveSiteTextfield: UITextField!
@IBOutlet weak var diveDurationTextfield: UITextField!
@IBOutlet weak var diveMaxDepthTextfield: UITextField!
@IBOutlet weak var diveMaxDepthSymbolTextField: UITextField!
@IBOutlet weak var diveDateTextfield: UITextField!
@IBOutlet weak var diveTimeTextfield: UITextField!
@IBOutlet weak var diveBuddyTextfield: UITextField!
@IBOutlet weak var diveCityTextfield: UITextField!
@IBOutlet weak var diveCountryTextField: UITextField!
@IBOutlet weak var diveBodyOfWaterTextfield: UITextField!
@IBOutlet weak var diveLocationTextField: UITextField!
@IBOutlet weak var airTypeResultTextField: UITextField!
@IBOutlet weak var circuitTypeTextField: UITextField!
@IBOutlet weak var tankStartTextField: UITextField!
@IBOutlet weak var tankStartSymbolTextField: UITextField!
@IBOutlet weak var tankEndTextField: UITextField!
@IBOutlet weak var tankEndSymbolTextField: UITextField!
@IBOutlet weak var weightTextField: UITextField!
@IBOutlet weak var weightSymbolTextField: UITextField!
@IBOutlet weak var suitTypeTextField: UITextField!
@IBOutlet weak var entryTypeTextField: UITextField!
@IBOutlet weak var waterTypeTextField: UITextField!
@IBOutlet weak var waterTempTextField: UITextField!
@IBOutlet weak var waterTempSymbolTextField: UITextField!
@IBOutlet weak var currentTextField: UITextField!
@IBOutlet weak var visibilityTextField: UITextField!
@IBOutlet weak var airTempTextField: UITextField!
@IBOutlet weak var airTempSymbolTextField: UITextField!
@IBOutlet weak var weatherTextField: UITextField!
@IBOutlet weak var surfaceTextField: UITextField!
@IBOutlet weak var diveTypeTextField: UITextField!
@IBOutlet weak var diveMasterTextField: UITextField!
@IBOutlet weak var diveMasterIDTextField: UITextField!
@IBOutlet weak var diveCenterTextField: UITextField!
@IBOutlet weak var diveBoatTextField: UITextField!
@IBOutlet weak var diveTripTextField: UITextField!
@IBOutlet weak var diveNotesTextView: UITextView!



let insert = String(format:"INSERT INTO Dives (dive_number, dive_site, duration, max_depth, max_depth_symbol, dive_buddy, city, country, body_of_water, starting_tank, starting_tank_symbol, ending_tank, ending_tank_symbol, weight, weight_symbol, water_temp, water_temp_symbol, air_temp, air_temp_symbol, dive_master, dive_master_id, dive_center, boat_operator, trip_operator, dive_date, dive_time) VALUES ('\(Int(self.diveNumber))', '\(self.diveSiteTextfield.text!)', '\(Int(self.diveDurationTextfield.text!)!)', '\(Int(self.diveMaxDepthTextfield.text!)!)', '\(self.diveMaxDepthSymbolTextField.text!)', '\(self.diveBuddyTextfield.text!)', '\(self.diveCityTextfield.text!)', '\(self.diveCountryTextField.text!)', '\(self.diveBodyOfWaterTextfield.text!)', '\(Int(self.tankStartTextField.text!)!)', '\(self.tankStartSymbolTextField.text!)', '\(Int(self.tankEndTextField.text!)!)', '\(self.tankEndSymbolTextField.text!)', '\(Int(self.weightTextField.text!)!)', '\(self.weightSymbolTextField.text!)', '\(Int(self.waterTempTextField.text!)!)', '\(self.waterTempSymbolTextField.text!)', '\(Int(self.airTempTextField.text!)!)', '\(self.airTempSymbolTextField.text!)', '\(self.diveMasterTextField.text!)', '\(self.diveMasterIDTextField.text!)', '\(self.diveCenterTextField.text!)', '\(self.diveBoatTextField.text!)', '\(self.diveTripTextField.text!)', '\(self.diveDateTextfield.text!)', '\(self.diveTimeTextfield.text!)')")

最佳答案

您可以使用空合并运算符,例如

Int(self.airTempTextField.text!) ?? 0

这样你就可以处理没有得到任何输入的文本字段,也没有得到错误的输入,无法解析为整数。

关于sqlite - 允许 SQLite INSERT 对于 Integer 是可选的 (Swift 3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41780085/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com