当前位置: 首页 > 面试题库 >

将CLLocationCoordinate2D转换为可以存储的字符串

钱德元
2023-03-14
问题内容

我试图在一个ViewController中保存用户的坐标,以便可以将其用于创建可以在另一个ViewController中显示的注释。

在存储我正在使用代码的坐标的视图控制器中

NSUserDefaults.standardUserDefaults().setObject( Location, forKey: "Location")

在显示注释的地图视图控制器中,我尝试使用代码获取坐标

let Location = NSUserDefaults.standardUserDefaults().stringForKey("Location")
var Annotation = MKPointAnnotation()
Annotation.coordinate = Location

告诉我,type String?的值改为type 的值CLLocationCoordinate2D

那么如何将CLLocationCoordinate2D坐标转换为type的值String


问题答案:

这样,您可以将“位置”存储到NSUserDefaults

//First Convert it to NSNumber.
let lat : NSNumber = NSNumber(double: Location.latitude)
let lng : NSNumber = NSNumber(double: Location.longitude)

//Store it into Dictionary
let locationDict = ["lat": lat, "lng": lng]

//Store that Dictionary into NSUserDefaults
NSUserDefaults.standardUserDefaults().setObject(locationDict, forKey: "Location")

之后,您可以通过以下方式访问它:

//Access that stored Values
let userLoc = NSUserDefaults.standardUserDefaults().objectForKey("Location") as! [String : NSNumber]

//Get user location from that Dictionary
let userLat = userLoc["lat"]
let userLng = userLoc["lng"]

var Annotation = MKPointAnnotation()

Annotation.coordinate.latitude = userLat as! CLLocationDegrees  //Convert NSNumber to CLLocationDegrees
Annotation.coordinate.longitude = userLng as! CLLocationDegrees //Convert NSNumber to CLLocationDegrees

更新:

这里是您的示例项目。



 类似资料:
  • 下面是一个生成IV并将其转换为Base64字符串的示例... 但是,当我将IV的字符串表示形式传递到加密方法中,然后将其转换回字节数组时,下面的代码会失败,说明IV的大小不正确。 在字节数组和字符串表示之间有没有一种标准的转换加密密钥和IV的方法?

  • 问题内容: 我们可以将字符转换为等效于ASCII值的整数,但是我们可以做相反的事情,即将给定的ASCII值转换为其等效的字符吗? 显示可能丢失的精度错误… 问题答案: 转换为:

  • 我有数字,我想在存储过程中将这些数字转换成字符串。 请回复。 谢谢!

  • 问题内容: 我从表(源)中进行操作,其中每一列都是数据类型。 列之一存储二进制数据,例如 我在其中插入目标表的列具有相同的列,但数据类型为。 当我插入它时,然后选择目标表,我从该列中得到了一个不同的值: 它看起来似乎并不真正具有相同的价值。 什么应该是转变作为二进制数据存储的正确方法,以列? 问题答案: 您得到的结果是因为字符串“0003f80075177fe6”(一个值)被转换为代码点,并且这些

  • 问题内容: 我想在GO中将字符串数组转换为字节数组,以便可以将其写到磁盘上。将字符串数组()解码为字节数组()的最佳解决方案是什么? 我正在考虑对字符串数组进行两次迭代,第一个迭代以获得字节数组所需的实际大小,然后第二个迭代写入每个元素的长度和实际字符串()。 解决方案必须能够以其他方式进行转换;从一个到一个。 问题答案: 让我们忽略一个事实,那就是走一秒钟。您需要做的第一件事是将序列化格式编组为

  • 问题内容: MySQL是否可以在正常的select语句中直接将存储的UTC时间转换为本地时区:ed时间? 假设您有一些带有时间戳(UTC)的数据。 那当我 我当然会以存储的UTC形式获取所有日期。 但是,假设我想将它们放在另一个时区(带DST),然后可以向选择查询添加一些魔术,以便将所有日期恢复为所选时区吗? 还是我必须在顶层的其他层(例如某些php代码)中执行此操作?(这似乎是大多数人解决此问题