我想保存/存储用户的当前位置但不知道我应该在DB中存储哪些特定数据以及我的数据库结构应该是什么?我想检索位置信息并将其显示在地图视图中。实现这一目标的最佳方法是什么?关于数据库结构,我的数据库表上是否应该有单独的纬度和经度列?
答案 0 :(得分:1)
您可以使用NSKeyedarchiver和NSKeyedUnarchiver将其保存为NSData,如下所示:
let locationData = NSKeyedArchiver.archivedDataWithRootObject(yourLocation)
NSUserDefaults.standardUserDefaults().setObject(locationData, forKey: "myLocation")
if let loadedData = NSUserDefaults.standardUserDefaults().dataForKey("myLocation") {
if let loadedLocation = NSKeyedUnarchiver.unarchiveObjectWithData(loadedData) as? CLLocation {
println(loadedLocation.description)
}
}
答案 1 :(得分:0)
您应将纬度和经度存储为单独的列。
如果将位置存档到包含两个值的对象中,则无法访问数据库级别的各个值。您必须获取对象并从中提取纬度和经度。
虽然在单个列中保存纬度和经度会使代码延长几行,但您可以使用数据库查询中的坐标。