我的iOS应用使用Apple提供的信息here来获取有关我的用户的各种位置信息。 cllocationmanager提供了一种方法,可以根据某些参数在每次更改时获取有关用户的位置信息:
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
这个方法非常棒,并返回我需要的所有数据,但是它将它作为NSArray中的单个值返回:
1 + 37.33069626,-122.02967106> +/- 10.00米(速度3.62 mps /航线82.41)@ 2/3 / 13,4:42:58 PM东部标准时间
这包含了我需要的所有信息(顺便说一下, course 变量代表什么),但我无法弄清楚如何将它变成更实用的形式。通过可用的形式,我的意思是简单的坐标,时间,速度等,所有这些都在单独的NSString / NSDictionary / NSArray值中。 如何将单个NSArray值(如上所示)拆分为不同的部分?
我尝试使用nspredicate在这里拆分单个NSArray值,但我只能让NSPredicate返回一个布尔值。
我尝试用componentsJoinedByString
方法拆分它,但是只能用一个字符串拆分数组值,并且没有单个字符串可以一致地拆分每个值。
有关如何通过CLLocationManager分割给我的iOS应用程序的数据的任何建议?是否存在可以以更有用的形式检索/拆分相同数据的方法或功能。
似乎我和其他人都存在误解。我原以为CLLocation
对象是一个带有一个值的NSArray对象。但是,正如我在评论中所了解的那样(谢谢@holex),它不是。
答案 0 :(得分:3)
根据文档的this part,数组包含CLLocations对象。所以,只需检索并处理它们。
for (CLLocation *location in locations) {
NSLog(@"Latitude: %f, Longitude: %f", location.coordinate.latitude, location.coordinate.longitude);
}