Post 使用 Swift 到 iCloud 数据库的位置

Post location to iCloud database using Swift

我正在尝试 post 我的位置到 iCloud 数据库。我不断收到 "Expected Declaration" 错误,我正在尝试修复该错误,但我不确定该怎么做。

我的代码如下:

CLGeocoder *geocoder = [CLGeocoder new]

[geocoder geocodeAddressString:artwork[kArtworkAddressKey] completionHandler:^(NSArray *placemark, NSError *error){
    if (!error) {
        if (placemark.count > 0) {
            CLPlacemark *placement = placemark[0]
            artworkRecord[kArtworkLocationKey] = placement.location
        }   
    } else {
        // insert error handling here
    }
    // Save the record to the database  
}]

我是新手,问题比较简单,还请见谅

问题是您已将 Objective-C 放入 Swift 文件中。你可以这样翻译...

Objective-C

CLGeocoder *geocoder = [CLGeocoder new]

[geocoder geocodeAddressString:artwork[kArtworkAddressKey] completionHandler:^(NSArray *placemark, NSError *error){
    if (!error) {
        if (placemark.count > 0) {
            CLPlacemark *placement = placemark[0]
            artworkRecord[kArtworkLocationKey] = placement.location
        }   
    } else {
        // insert error handling here
    }
    // Save the record to the database  
}]

Swift...

let geocode = CLGeocoder()

geocoder.geocodeAddressString(artwork[kArtworkAddressKey]) {
    placemark, error in
    if error {
        // handle error
    } else {
        if let placement = placemark[0] {
            self.artworkRecord[kArtWorkLocationKey] = placement.location
        }
    }
}

反正就是这样。