2016-08-09 3 views
0

Ich bekomme den Fehler: "Class 'ViewController' hat keine Initialisierer". Ich habe das Problem auf diese aufgerufene Funktion eingegrenzt. Sieht jemand das Problem?Erhalte Initialisierungsfehler auf ViewController

let locationManager1: CLLocationManager // your location manager 
    func addBoundry(loc: CLLocation) 
    { 
     if let loc: CLLocation! = locationManager1.location { 
     let center: CLLocationCoordinate2D = loc!.coordinate 
     let lat: CLLocationDegrees = center.latitude 
     let long: CLLocationDegrees = center.longitude 
     var points = [CLLocationCoordinate2DMake(lat,long),CLLocationCoordinate2DMake(lat,long),CLLocationCoordinate2DMake(lat,long),CLLocationCoordinate2DMake(lat,long)] 
     let polygon = MKPolygon(coordinates: &points, count: points.count) 

     mapView.addOverlay(polygon) 

     } else { 
      print("no location...") 
     } 
    } 
+0

Check [diese Suchergebnissen] (http://stackoverflow.com/search?q=%5Bswift%5D+class+has+no+initializer). – rmaddy

Antwort

1

wenn Zuweisen der Eigenschaftsverwendung optional.

let locationManager1: CLLocationManager? 
1

Wenn Sie let locationManager1: CLLocationManager sagen, du bist eine Eigenschaft erklärt, dass nichtnil sein muss, aber nicht wirklich etwas zu zuweisen.

So benötigen Sie entweder eine init zu erklären, dass locationManager1 sorgt für genau ein Wert zugewiesen wird (es ist ein let konstant, kein var, nachdem alle!) Oder die Eigenschaft inline initialisieren wie:

let locationManager1 = CLLocationManager() 
Verwandte Themen