【问题标题】:Getting initializer error on ViewController在 ViewController 上获取初始化程序错误
【发布时间】:2016-12-16 03:26:17
【问题描述】:

我收到错误:“类 '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...")
        }
    }

【问题讨论】:

标签: ios swift xcode viewcontroller initializer


【解决方案1】:

当分配属性时使用可选的。

 let locationManager1: CLLocationManager?

【讨论】:

    【解决方案2】:

    当您说let locationManager1: CLLocationManager 时,您声明的属性不得nil,但实际上并未为其分配任何内容。

    因此,您要么需要声明一个 init 以确保为 locationManager1 分配一个值(毕竟它是 let 常量,而不是 var!),或者像这样初始化内联属性:

    let locationManager1 = CLLocationManager()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多