How to store CLLocation using Core Data (iPhone)?(如何使用 Core Data (iPhone) 存储 CLLocation?)
问题描述
我正在尝试保存一个位置,然后使用 Core Location、MapKit 和 Core Data 框架在地图上检索该位置.
I'm trying to save a location and retrieve the location on a map afterward using Core Location, MapKit and Core Data frameworks.
我所做的只是创建了名为 POI 的实体,并添加了一些属性,例如纬度(双精度型)、经度(双精度型)以及其他一些属性.
What I've done is I just made entity named POI and added properties such as latitude (double type), longitude (double type) with few others.
简单地说,我的应用使用两个 NSNumber 保存 POI.(经纬度)但我觉得必须有比这更聪明的方式来存储 CLLocation.
Simply put, my app saves POI with two NSNumbers. (lat and long) but I feel like there must be a smarter way to store CLLocation than that.
干杯.
推荐答案
你做的很好.您应该在核心数据中将纬度和经度保存为双精度值.当您需要再次获取信息时,从 Core Data 中获取双精度数据,并使用 CLLocationCoordinate2DMake
之类的函数构造一个 CLLocationCoordinate2D
结构.没有内置存储位置的方法,因此存储纬度和经度分量就可以了.
What you're doing is fine. You should save the latitude and longitude as doubles in Core Data. When you need to get the information again, get the doubles back from Core Data and construct a CLLocationCoordinate2D
struct with a function like CLLocationCoordinate2DMake
. There's no built in way to store a location, so storing the latitude and longitude components is fine.
如果您没有对纬度或经度进行任何数学运算(查找边界框等),您可以将它们存储为字符串.浮点数和双精度数可以稍微改变它们的值,导致比较操作失败.
If you're not doing any math operations on the latitude or longitude (finding bounding boxes etc) you could store them as strings. Floats and doubles can change their values slightly, making comparison operations fail.
这篇关于如何使用 Core Data (iPhone) 存储 CLLocation?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何使用 Core Data (iPhone) 存储 CLLocation?
基础教程推荐
- Android:对话框关闭而不调用关闭 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01