【问题标题】:Use of unresolved identifier 'MapTasks' in Swift在 Swift 中使用未解析的标识符“MapTasks”
【发布时间】:2016-07-20 21:07:47
【问题描述】:

我正在关注tutorial,因为它是相当古老的教程,他们实际上使用了 GoogleMaps 框架包而不是我遵循的 pod,并且一切都很顺利,直到我到达 Spotting a Custom Location。在该部分中,他们要求更新 func geocodeAddress 如下,并在 ViewController.swift 文件中添加 var mapTasks = MapTasks() 我这样做了,但它给了我错误。

使用未解析的标识符“MapTasks”

error

func geocodeAddress(address: String!, withCompletionHandler completionHandler: ((status: String, success: Bool) -> Void)) {
    if let lookupAddress = address {
        var geocodeURLString = baseURLGeocode + "address=" + lookupAddress
        geocodeURLString = geocodeURLString.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!

        let geocodeURL = NSURL(string: geocodeURLString)

        dispatch_async(dispatch_get_main_queue(), { () -> Void in
            let geocodingResultsData = NSData(contentsOfURL: geocodeURL!)

            var error: NSError?
            let dictionary: Dictionary<NSObject, AnyObject> = NSJSONSerialization.JSONObjectWithData(geocodingResultsData!, options: NSJSONReadingOptions.MutableContainers, error: &error) as Dictionary<NSObject, AnyObject>

            if (error != nil) {
                println(error)
                completionHandler(status: "", success: false)
            }
            else {
                // Get the response status.
                let status = dictionary["status"] as String

                if status == "OK" {
                    let allResults = dictionary["results"] as Array<Dictionary<NSObject, AnyObject>>
                    self.lookupAddressResults = allResults[0]

                    // Keep the most important values.
                    self.fetchedFormattedAddress = self.lookupAddressResults["formatted_address"] as String
                    let geometry = self.lookupAddressResults["geometry"] as Dictionary<NSObject, AnyObject>
                    self.fetchedAddressLongitude = ((geometry["location"] as Dictionary<NSObject, AnyObject>)["lng"] as NSNumber).doubleValue
                    self.fetchedAddressLatitude = ((geometry["location"] as Dictionary<NSObject, AnyObject>)["lat"] as NSNumber).doubleValue

                    completionHandler(status: status, success: true)
                }
                else {
                    completionHandler(status: status, success: false)
                }
            }
        })
    }
    else {
        completionHandler(status: "No valid address.", success: false)
    }
}

这是我的 GitHub repository

提前谢谢你。

【问题讨论】:

  • 我建议您阅读stackoverflow.com/help/mcve,然后用一些更详细和具体的信息编辑您的问题。
  • 感谢您的建议。我已根据您的建议编辑了我的问题。 @詹姆斯伍德

标签: objective-c swift xcode google-maps google-maps-sdk-ios


【解决方案1】:

如果您完全阅读了该教程,您会在说明中发现您需要创建一个文件名 MapTasks,它是一个类。 您可以从 GitHub 复制此 file 并将其添加到您的项目中。

【讨论】:

  • 我已经有 MapTasks 如果你看到我的 GitHub 仓库你会找到它。
  • 我检查了你的 Github 存储库。您的班级名称是 MapTask。但我认为应该是 MapTasks ,带 s.
  • 糟糕,这是一个愚蠢的错误。顺便说一句,非常感谢它解决了错误。
猜你喜欢
  • 1970-01-01
  • 2015-05-13
  • 2016-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-28
  • 2015-05-25
相关资源
最近更新 更多