Как отправить CLLocationCoordinate2D var в другой файл? - PullRequest
0 голосов
/ 20 мая 2011

Я новичок в программировании на 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 Ответ

0 голосов
/ 20 мая 2011

IBAction используется для подключения кнопки в Интерфейсном Разработчике, поэтому, когда пользователь нажимает на эту кнопку, он запускает вызов метода. Вы не хотите этого здесь. Вам просто нужен обычный метод.

В файле карты, внутри 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);
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...