我是obj-c和iOS编程的新手。 所以在一个文件/模块中我写了GPS + map,在这个文件/模块中我更新了我的地理位置。 在另一个文件/模块中我有功能,将第一个文件/模块的地理定位作为CLLocationCoordinate2D var。有一个小代码部分女巫解释我的意思。 GPS +地图文件中的某些软件具有以下功能:。
-(void)mapView:(MKMapView *)mv didUpdateUserLocation:(MKUserLocation *)userLocation {
if (AnotherModuleGeolocTaker!=nil)
[[AnotherModuleGeolocTaker getInstance] setLocation:[userLocation coordinate]];
...
有geoloc。二传手。在另一个文件/ 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'?
答案 0 :(得分:0)
IBAction用于连接Interface Builder中的按钮,因此当用户点击该按钮时,它会触发方法调用。你不想在这里。你只需要一个常规的方法。
在map文件中,在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);
}