我试图将ObjC中的旧应用程序转换为Swift作为练习练习并且遇到了一些问题.我在旧应用程序中使用它的方式,它是建立CLLocation Manager然后我会使用:
manager = [[CLLocationManager alloc]init];
manager.delegate = self;
manager.desiredAccuracy = kCLLocationAccuracyBest;
[manager startUpdatingLocation]
Run Code Online (Sandbox Code Playgroud)
会自动调用:
-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{
}
Run Code Online (Sandbox Code Playgroud)
从那里我可以提取我需要的所有信息.但是在swift中,没有自动完成这种方法,我无法弄清楚如何重现它.文档说明了这一点
startUpdatingLocation()
Run Code Online (Sandbox Code Playgroud)
仍将由代表调用,但它没有发生.
这是我到目前为止:
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" …Run Code Online (Sandbox Code Playgroud)