ClLocationCoordinate2D 的 NSMutableArray [英] NSMutableArray of ClLocationCoordinate2D

查看:15
本文介绍了ClLocationCoordinate2D 的 NSMutableArray的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试创建然后检索 CLLocationCoordinate2D 对象的数组,但由于某种原因,该数组始终为空.

I'm trying to create then retrieve an array of CLLocationCoordinate2D objects, but for some reason the array is always empty.

我有:

NSMutableArray *currentlyDisplayedTowers;
CLLocationCoordinate2D new_coordinate = { currentTowerLocation.latitude, currentTowerLocation.longitude };
[currentlyDisplayedTowers addObject:[NSData dataWithBytes:&new_coordinate length:sizeof(new_coordinate)] ];

我也试过这个来添加数据:

I've also tried this for adding the data:

[currentlyDisplayedTowers addObject:[NSValue value:&new_coordinate withObjCType:@encode(struct CLLocationCoordinate2D)] ];

无论哪种方式,[currentlyDisplayedTowers count] 总是返回零.有什么想法可能出了什么问题?

And either way, the [currentlyDisplayedTowers count] always returns zero. Any ideas what might be going wrong?

谢谢!

推荐答案

要留在对象领域,您可以创建 CLLocation 的实例并将它们添加到可变数组中.

To stay in object land, you could create instances of CLLocation and add those to the mutable array.

CLLocation *towerLocation = [[CLLocation alloc] initWithLatitude:lat longitude:lon];
[currentDisplayedTowers addObject:towerLocation];

要从 CLLocation 中取回 CLLocationCoordinate 结构,请在对象上调用 coordinate.

To get the CLLocationCoordinate struct back from CLLocation, call coordinate on the object.

CLLocationCoordinate2D coord = [[currentDisplayedTowers lastObject] coordinate];

这篇关于ClLocationCoordinate2D 的 NSMutableArray的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆