CLLocation Manager in Swift, um den Standort des Benutzers zu ermitteln

Ich versuche zu konvertieren, eine alte app in ObjC zu Swift als eine Praxis übung und haben lief in einige Probleme. Die Art und Weise, ich habe es in der alten app war es zur Gründung der CLLocation-Manager und dann würde ich verwenden:

manager = [[CLLocationManager alloc]init];
manager.delegate = self;
manager.desiredAccuracy = kCLLocationAccuracyBest;    
[manager startUpdatingLocation]

welche nennen würde automatisch:

-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{
}

und von dort konnte ich extrahieren Sie alle Informationen, die ich brauchte. Aber in swift gibt es keine Autovervollständigung von dieser Methode, und ich kann nicht herausfinden, wie um es zu reproduzieren. Die Dokumentation sagt, dass

startUpdatingLocation()

wird noch genannt werden, von der Stellvertretung, aber es ist nicht passiert.

Dies ist, was ich habe, so weit:

import UIKit
import corelocation

class ViewController: UIViewController,CLLocationManagerDelegate{

@IBOutlet var gpsResult : UILabel

var manager:CLLocationManager!

override func viewDidLoad() {
    super.viewDidLoad()
    //Do any additional setup after loading the view, typically from a nib.

    manager = CLLocationManager()
    manager.delegate = self
    manager.desiredAccuracy = kCLLocationAccuracyBest
    manager.startUpdatingLocation()
}

func locationManager(manager:CLLocationManager, didUpdateLocations locations:AnyObject[]) {
    println("locations = \(locations)")
    gpsResult.text = "success"
}
}

Jede Hilfe oder Hinweise, wo man suchen würde sehr geschätzt. Danke.

EDIT: Aktualisierte Vorschläge, aber immer noch nicht funktioniert

EDIT2: Scheint zu sein, einige Fehler nicht erlaubt, die Methode funktioniert in der ViewController

InformationsquelleAutor der Frage Sean Fitz | 2014-06-05

Schreibe einen Kommentar