如何将 CLLocationCoordinate2D var 发送到另一个文件?
Posted
技术标签:
【中文标题】如何将 CLLocationCoordinate2D var 发送到另一个文件?【英文标题】:How to send CLLocationCoordinate2D var to another file? 【发布时间】:2011-05-20 14:20:13 【问题描述】:我是 obj-c 和 ios 编程的新手。 所以在一个文件/模块中我编写了 GPS+地图,在这个文件/模块中我更新了我的地理位置。 在另一个文件/模块中,我有函数将第一个文件/模块的地理位置作为 CLLocationCoordinate2D var。有小代码部分可以解释我的意思。 GPS+地图文件中的一些功能是:。
-(void)mapView:(MKMapView *)mv didUpdateUserLocation:(MKUserLocation *)userLocation
if (AnotherModuleGeolocTaker!=nil)
[[AnotherModuleGeolocTaker getInstance] setLocation:[userLocation coordinate]];
...
有地理定位。二传手。在另一个文件/module.h:.
...
@property (nonatomic, assign) CLLocationCoordinate2D location;
...
在另一个文件/module.m:.
...
@synthesize location;
...
- (IBAction)ThereIsGeolocTakeAction:(id)sender
NSLog(@"\n\nlatitude = %g\n\tlongitude = %g",location.latitude,location.longitude);
...
那么如何将坐标从 'didUpdateUserLocation' 发送到 'ThereIsGeolocTakeAction' ?
【问题讨论】:
【参考方案1】:IBAction 用于连接 Interface Builder 中的按钮,因此当用户点击该按钮时,它会触发方法调用。你不想在这里。你只需要一个常规的方法。
在地图文件中,在 didUpdateUserLocation 内部:实现以下代码:
if (AnotherModuleGeolocTaker!=nil)
[[AnotherModuleGeolocTaker getInstance]
ThereIsGeolocTakeAction:[userLocation coordinate]];
在 AnotherModuleGeolocTaker.m 中实现这个方法:
-(void)ThereIsGeolocTakeAction:(CLLocationCoordinate2D)theNewLocation
NSLog(@"\n\nlatitude = %g\n\tlongitude = %g",
theNewLocation.latitude,theNewLocation.longitude);
【讨论】:
以上是关于如何将 CLLocationCoordinate2D var 发送到另一个文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 SwiftUI 中的扩展将 Hashable 协议添加到 CLLocationCoordinate2D
如何在 Objective C 中使用 RestKit 将纬度和经度字段映射到单个 CLLocationCoordinate2D?
将 CLLocation 或 CLLocationCoordinate2D 转换为 CGPoint
如何在 Core Data 中存储 CLLocationCoordinate2D 数组来绘制折线?
如何在Core Data中存储CLLocationCoordinate2D数组来绘制折线?
MKPolygon - 如何确定 CLLocationCoordinate2D 是不是在 CLLocationCoordinate2D 多边形中?