2012-12-28 52 views
1

我点的兴趣了一把,想硬编码他们,但似乎没有要在Objective-C洁净设备这样做。如何在iOS中存储GPS坐标?

我想两个数字字符串相关联: @“冷点”,37.77794,-122.41933

我需要NSString的的一个NSDictionary和每个浮点转换成字符串?把所有这些分开看起来太费劲了?我应该做一个c-struct吗?这种情况一定会出现很多,但不能想到这是一个干净的解决方案。

感谢

回答

6

你是如何打算的存储呢?如果您使用的是核心数据,那么您最简单的选择是使用2个单独的数字作为经度和纬度,然后在访问数据时简单地创建一个坐标(CLLocationCoordinate2D如tom提到的那样)

它非常依赖因为iOS只允许为不同的方法保存特定类型的对象。

如果你没有真正将其存储到文件,并只用它在内存中,然后根据汤姆说,像CLLocationCoordinate2D会的工作,这是一个结构,而不是一个对象。如果你想要一个实际的对象,那么使用内部包含一个CLLocationCoordinate2D对象的CLLocation。

您可以创建一个CLLocationCoordinate2D对象:

CLLocationCoordinate2D coord = CLLocationCoordinate2DMake(latitude, longitude); 

或者,如果你需要的对象包装,然后创建一个CLLocation对象:

CLLocation *loc = [[CLLocation alloc] initWithLatitude:latitude longitude:longitude]; 
+0

我只看到CLLocationCoordinate2dMake()宏,但认为CLLocation应该更好。我需要将一个字符串与此坐标相关联,并认为具有唯一位置名称键和CLLocation *值的NSDictionary应该可以正常工作。 – tarabyte

+0

是的,一个字典会很好匹配一个字符串坐标对:) – PaReeOhNos