Unten ist mein Code bzw. der wichtigste Abschnitt.
Ich möchte die Koordinaten aus einer Adresse (Straße, Nummer, PLZ,...) in Koordinaten umwandeln.
Eigentlich geht auch alles. Ich kann mir die Werte ausgeben lassen und sie stimmen.
Nur dauert die Funktion so lange (bzw. wird übersprungen und später ausgeführt), dass ich immer mit den alten Werten arbeite (an meine Server sende).
Ich dachte, wenn ich vor der Funktion ein BOOL setzte und danach und einfach frage, ob die Funktion vorbei ist, dass ich dann davon ausgehen kann, dass sie ausgeführt wurde, aber dies ist nicht der Fall.
Ich bekomme für gotConnectes YES, aber alles was in der Funktion drin steht wird erst "viel" später ausgegeben.
Habt ihr da irgendwelche Tricks???
Ich wär echt dankbar, weil das echt nervig ist.
Gruß Speedy
Alles anzeigen
Ich möchte die Koordinaten aus einer Adresse (Straße, Nummer, PLZ,...) in Koordinaten umwandeln.
Eigentlich geht auch alles. Ich kann mir die Werte ausgeben lassen und sie stimmen.
Nur dauert die Funktion so lange (bzw. wird übersprungen und später ausgeführt), dass ich immer mit den alten Werten arbeite (an meine Server sende).
Ich dachte, wenn ich vor der Funktion ein BOOL setzte und danach und einfach frage, ob die Funktion vorbei ist, dass ich dann davon ausgehen kann, dass sie ausgeführt wurde, aber dies ist nicht der Fall.
Ich bekomme für gotConnectes YES, aber alles was in der Funktion drin steht wird erst "viel" später ausgegeben.
Habt ihr da irgendwelche Tricks???
Ich wär echt dankbar, weil das echt nervig ist.
Gruß Speedy
Quellcode
- ...
- gotConnected=NO;
- [geocoder geocodeAddressDictionary:[self address] completionHandler:^(NSArray *placemarks, NSError *error) {
- if (error == nil && placemarks.count>0) {
- CLPlacemark *thePlacemark = [placemarks objectAtIndex:0];
- CLLocationCoordinate2D theCoordinate = thePlacemark.location.coordinate;
- [self setCoordinate:theCoordinate]; //funktion speichert longitude und latitude global
- }
- }];
- gotConnected=YES;
- ...