PDA

Visualizza la versione completa : problema Objective c


MarcoPro1989
23-12-2012, 22:06
Cia ragazzi ho un problema con questo programma, praticamente voglio tradurre le coordinate fornitemi in latitudine e longitudine, in un indirizzo leggibile per l'ungete, vi posto il codice della file di heder .h:

#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>
@interface FirstViewController : UIViewController <CLLocationManagerDelegate>
//manager che gestisce l'attivita di localizzazione
@property (strong,nonatomic) CLLocationManager* locationManager;
//prop che definira in atuoamtico i metodi di get e di set che ci serviranno per scriver nella texstarea
@property (weak, nonatomic) IBOutlet UITextView *textArea;
@property (strong, nonatomic) CLGeocoder* geoCodificatore;
- (IBAction)traduciCordinate:(id)sender;
@end

ovviamente ho creato un bottone start che ho collegato al metodo - (IBAction)traduciCordinate:(id)sender;

mentre questo è il codice del file di implementazione:

//
// FirstViewController.m
// Tocation tabs 2
//
// Created by Marco mignano on 23/12/12.
// Copyright (c) 2012 Marco mignano. All rights reserved.
//

#import "FirstViewController.h"

@interface FirstViewController ()

@end

@implementation FirstViewController

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.locationManager.delegate = self;
//otteniamo la posizione dell'utente
[self.locationManager startUpdatingLocation];
}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)traduciCordinate:(id)sender {
//blocco del gecoding
[self.geoCodificatore reverseGeocodeLocation: self.locationManager.location completionHandler:^(NSArray *placemarks, NSError *error) {
[ _textArea setText:@"prova debug"];
//definiamo il blocco:
//otteniamo l'indirizzo più vicino usiamo CLPlacemark, un oggetto che funge da marker cioè contiene tutte le informazioni sul luogo in cui ti trovi
CLPlacemark *placemark = [placemarks objectAtIndex:0];
//stampiamo a video l'indirizzo tramite l'oggetto addressDictionary, nel quale invochiamo metodo allkeys che ci restituisce tutte le chiavi
NSLog(@"%@",[placemark.addressDictionary allKeys]);
//formattiamo la stringa in un indirizzo, componentsJoinedByString unsice tute le stringe aggiungendo dei caratteri vuoti alla fine
NSString *indirizzoLocalizzato = [[placemark.addressDictionary valueForKey:@"indirizzo foramattato"] componentsJoinedByString:@", "];
//stampiamo la posizione in console:
[_textArea setText:indirizzoLocalizzato];
}];
}
@end

ovviamente prima ho importato il framework CoreLocation.framework.
bene il problema è semplice, se premo start non succede niente, non mi viene neanche stampata la stringa di debug che ho inserito nel metodo!
non capisco cosa possa sbagliare, appure sia la textArea che il pulsante sono collegati!

Loading