如何将我的UITextField初始化为双精度而不是字符串?
我的应用程序用户通过我的IBoutlet通过TextField输入纬度和经度
但是我在将其转换为双精度以获取更多功能并保存到我的领域数据库时遇到了麻烦。如何以及在哪里转换?
@IBOutlet weak var latitudeTextField: UITextField!
@IBOutlet weak var longitudeTextField: UITextField!
func fillTextFields() {
nameTextField.text = specimen.name
latitude.TextField = specimen.latitude
longitude.TextField = specimen.longitude
}
func updateSpecimen() {
let realm = try! Realm()
try! realm.write {
self.specimen.name = self.nameTextField.text!
self.specimen.longitude = self.longitudeTextField.text!
self.specimen.latitude = self.latitudeTextField.text!
}
然后在文件的下方进一步调用func updateSpecimen()
override func shouldPerformSegueWithIdentifier(identifier: String?, sender: AnyObject?) -> Bool {
if validateFields() {
if specimen != nil {
updateSpecimen()
} else {
addNewSpecimen()
}
return true
} else {
return false
}
}
您可以将转换String
为Double
if let text = self.Lat.text {
let num = Double(text)
}
class ViewController {
@IBOutlet weak var latitudeTextField: UITextField!
@IBOutlet weak var longitudeTextField: UITextField!
func fillTextFields() {
guard let
latitudeText = latitudeTextField.text,
latitude = Double(latitudeText),
longitudeText = longitudeTextField.text,
longitude = Double(longitudeText)
else {
// tell the user to fill the fields
return
}
updateSpecimen(latitude, longitude:longitude)
}
func updateSpecimen(latitude: Double, longitude: Double) {
// here you can use latidute and longitude
}
}
您还可以使用这2个计算变量
var latitude: Double? {
if let text = latitudeTextField.text {
return Double(text)
} else {
return nil
}
}
var longitude: Double? {
if let text = longitudeTextField.text {
return Double(text)
} else {
return nil
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句