Swift 将数据传递给另一个控制器并保存?
下面的代码将变量传递给destVC,它就可以工作了。但是当我关闭destVC时,变量就被清除了。有没有办法保存这些变量Swift 将数据传递给另一个控制器并保存?,swift,xcode,Swift,Xcode,下面的代码将变量传递给destVC,它就可以工作了。但是当我关闭destVC时,变量就被清除了。有没有办法保存这些变量 override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if let destVC = segue.destination as? ViewControllerGpsMaps { if (baseCoordinatesSaveNow
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let destVC = segue.destination as? ViewControllerGpsMaps {
if (baseCoordinatesSaveNow == true) {
destVC.baseCoordinatesSaveNow = true
}
destVC.actualDestinationLatitude = Double(waypointlatitude.text!)
destVC.actualDestinationLongitue = Double(waypointlongitude.text!)
}
}
您可以像下面这样使用
UserDefaults
:
要保存数据,请使用以下代码(在源VC上):
要检索数据,请使用以下代码(在目标VC上):
以类似的方式,你可以做经度
要删除数据,请使用以下代码:
UserDefaults.standard.removeObject(forKey: "latitude")
您可以像下面这样使用
UserDefaults
:
要保存数据,请使用以下代码(在源VC上):
要检索数据,请使用以下代码(在目标VC上):
以类似的方式,你可以做经度
要删除数据,请使用以下代码:
UserDefaults.standard.removeObject(forKey: "latitude")
有两种简单的方法: 方法1: 以用户默认值保存数据,如下所示:
//To save data
UserDefaults.standard.set(waypointlatitude.text, forKey: "lat")
//To get data
let lat = UserDefaults.standard.value(forKey: "lat")
方法2:
将数据保存在全局变量中。为全局创建类并采用如下共享实例:
//To save data
UserDefaults.standard.set(waypointlatitude.text, forKey: "lat")
//To get data
let lat = UserDefaults.standard.value(forKey: "lat")
全球级别:
class global: NSObject {
static let shared = global()
var lat: Double?
}
要在全局中设置数据,请执行以下操作:
global.shared.lat = Double(waypointlatitude.text ?? 0.0)
要从全局数据库获取数据,请执行以下操作:
let lat = global.shared.lat
可以使用共享实例在任何地方访问全局。有两种简单的方法: 方法1: 以用户默认值保存数据,如下所示:
//To save data
UserDefaults.standard.set(waypointlatitude.text, forKey: "lat")
//To get data
let lat = UserDefaults.standard.value(forKey: "lat")
方法2:
将数据保存在全局变量中。为全局创建类并采用如下共享实例:
//To save data
UserDefaults.standard.set(waypointlatitude.text, forKey: "lat")
//To get data
let lat = UserDefaults.standard.value(forKey: "lat")
全球级别:
class global: NSObject {
static let shared = global()
var lat: Double?
}
要在全局中设置数据,请执行以下操作:
global.shared.lat = Double(waypointlatitude.text ?? 0.0)
要从全局数据库获取数据,请执行以下操作:
let lat = global.shared.lat
可以使用共享实例在任何地方访问全局。是否尝试过使用UserDefaults-?是否尝试过使用UserDefaults-?