在 Swift 中将 CLLocationCoordinate2D 转换为 CLLocation 时出错

Posted

技术标签:

【中文标题】在 Swift 中将 CLLocationCoordinate2D 转换为 CLLocation 时出错【英文标题】:Error converting CLLocationCoordinate2D to CLLocation in Swift 【发布时间】:2016-08-31 19:49:28 【问题描述】:

我正在尝试将 cllocationcoordinate2d 转换为 cllocation。我在下面代码的第 12 行收到错误“容器文字中的预期表达式”。我还在第 13 行收到错误“无法将 cllocationcoordinate2d 类型的值转换为预期值 cllocation”,但这是因为第 12 行工作不正常。

@IBAction func makeEvent(sender: UIButton)
    
        let center = CLLocationCoordinate2D(latitude: loc1.coordinate.latitude, longitude: loc1.coordinate.longitude)
        let lat: CLLocationDegrees = center.latitude
        let long: CLLocationDegrees = center.longitude
        self.pointAnnotation1 = MKPointAnnotation()
        self.pointAnnotation1.title = "Event"
        self.pointAnnotation1.coordinate = CLLocationCoordinate2D(latitude: lat, longitude: long)
        self.pinAnnotationView = MKPinAnnotationView(annotation: self.pointAnnotation1, reuseIdentifier: nil)
        self.mapView?.centerCoordinate = self.pointAnnotation1.coordinate
        self.mapView.addAnnotation(self.pinAnnotationView.annotation!)
        CLLocation *center = [[CLLocation alloc] initWithLatitude:latt longitude:longg]
        eventRecord.setObject(center, forKey: "event")
        let publicData = CKContainer.defaultContainer().publicCloudDatabase
        publicData.saveRecord(eventRecord)  record, error in
        
        if error == nil
        
            print("Location saved")
        
        loadEvent() (error, records) in
            if error != nil 
                print("error fetching locations")
             else 
                print("Found Event")
            
        
    

【问题讨论】:

CLLocation *center = [[CLLocation alloc] initWithLatitude:latt longitude:longg] 是 Objective-C,而不是 Swift。 【参考方案1】:

您将目标 c 和 swift 混淆了。 试试这个:

    let center = CLLocation(latitude: lat, longitude: long)

代替:

    CLLocation *center = [[CLLocation alloc] initWithLatitude:latt longitude:longg]

【讨论】:

以上是关于在 Swift 中将 CLLocationCoordinate2D 转换为 CLLocation 时出错的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中将字符串写入 NSOutputStream

swift 在swift中将uint8转换为字符串

在 SWIFT 中将 JSON 解析为字典对象

在 Swift 中将字节数组转换为 UIImage

在 Swift 中将存储属性添加到 NSManagedObject 的子类

在 Swift 中将文本字段添加到 UILocalNotification