【发布时间】:2019-07-05 19:48:00
【问题描述】:
我正在尝试为用户提供保存当前位置的选项。我使用默认值来保存它,我发现了如何获取用户位置。但我不确定如何结合这两个任务。所以这是我的问题:
如何让我的函数调用用户位置,以便保存?
@IBAction func addLocation(_ sender: Any) {
// CALL LOCATION MANAGER TO GET LOCATION IN LAT AND LONG
self.saveDefaults()
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
guard let locValue: CLLocationCoordinate2D = manager.location?.coordinate else { return }
print("locations = \(locValue.latitude) \(locValue.longitude)")
}
func saveDefaults()
{
UserDefaults.standard.set(self.pickers, forKey: "pickers")
print("SAVED PICKERS: \(pickers)")
}
这是我最近的尝试,但我不知道为什么我的结构 (lat: ,long:) 没有接受输入
@IBAction func addLocation(_ sender: Any) {
var locations: [CLLocation]
let manager: CLLocationManager
let userLocation:CLLocation = locations[0] as CLLocation
// Call stopUpdatingLocation() to stop listening for location updates,
// other wise this function will be called every time when user location changes.
manager.stopUpdatingLocation()
print("user latitude = \(userLocation.coordinate.latitude)")
print("user longitude = \(userLocation.coordinate.longitude)")
self.pickers.append(pickerStruct(lat: userLocation.coordinate.latitude, long: userLocation.coordinate.longitude))
self.saveDefaults()
}
【问题讨论】:
标签: swift core-location userdefaults