我有一些兴趣点,并希望对它们进行硬编码,但目标c似乎没有干净的设施。
我想将两个数字关联到一个字符串: @“酷点”,37.77794,-122.41933
我是否需要NSStrings的NSDictionary并将每个浮点数转换为字符串?将所有这些分组似乎太多了?我应该制作一个c-struct吗?这种情况有很多,但无法想到这可能是一个干净的解决方案。
由于
答案 0 :(得分:7)
您打算如何存储?如果您使用核心数据之类的东西,那么最简单的选择是为经度和纬度使用2个单独的数字,然后在访问数据时简单地创建一个坐标(如提到的那样CLLocationCoordinate2D)
它非常依赖于您的存储方法,因为iOS只允许为不同的方法保存某些类型的对象。
如果你实际上并没有将它存储到文件中并且只是在内存中使用它,那么正如汤姆所说,像CLLocationCoordinate2D这样的东西可以工作,这是一个结构而不是一个对象。如果需要实际对象,请在内部使用包含CLLocationCoordinate2D对象的CLLocation。
您可以使用以下命令创建CLLocationCoordinate2D对象:
CLLocationCoordinate2D coord = CLLocationCoordinate2DMake(latitude, longitude);
或者,如果您需要对象包装器,则使用以下命令创建CLLocation对象:
CLLocation *loc = [[CLLocation alloc] initWithLatitude:latitude longitude:longitude];
答案 1 :(得分:2)
查看CLLocationCoordinate2D
(CLLocationCoordinate2D - Apple Developer Docs),其中包含latitude
字段和longitude
字段。