Objective c 使用未解析标识符';地图任务';迅速地

Objective c 使用未解析标识符';地图任务';迅速地,objective-c,swift,xcode,google-maps,google-maps-sdk-ios,Objective C,Swift,Xcode,Google Maps,Google Maps Sdk Ios,我正在关注,因为这是一个非常古老的教程,他们实际上使用了GoogleMaps框架包,而不是我遵循的pods,在我找到一个自定义位置之前,一切都很顺利。在该部分中,他们要求更新func-geocodeAddress,如下所示,并在ViewController.swift文件中添加var-mapTasks=mapTasks(),我这样做了,但它给了我错误 使用未解析的标识符“MapTasks” func-geocodeAddress(地址:String!,withCompletionHandler

我正在关注,因为这是一个非常古老的教程,他们实际上使用了GoogleMaps框架包,而不是我遵循的pods,在我找到一个自定义位置之前,一切都很顺利。在该部分中,他们要求更新
func-geocodeAddress
,如下所示,并在ViewController.swift文件中添加
var-mapTasks=mapTasks()
,我这样做了,但它给了我错误

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

func-geocodeAddress(地址:String!,withCompletionHandler completionHandler:((状态:String,成功:Bool)->Void)){
如果让lookupAddress=address{
var geocodeURLString=baseURLGeocode+“address=“+lookupAddress
geocodeURLString=geocodeURLString.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!
让geocodeURL=NSURL(字符串:geocodeURLString)
dispatch\u async(dispatch\u get\u main\u queue(),{()->Void in
让geocodingResultsData=NSData(contentsofull:geocodeURL!)
var错误:N错误?
让dictionary:dictionary=NSJSONSerialization.JSONObjectWithData(geocodingResultsData!,选项:NSJSONReadingOptions.MutableContainers,错误:&error)作为dictionary
如果(错误!=nil){
println(错误)
completionHandler(状态:“”,成功:false)
}
否则{
//获取响应状态。
让status=字典[“status”]作为字符串
如果状态==“正常”{
让allResults=dictionary[“results”]作为数组
self.lookupAddressResults=所有结果[0]
//保持最重要的价值观。
self.fetchedFormattedAddress=self.lookupAddressResults[“格式化的\u地址”]作为字符串
让geometry=self.lookupAddressResults[“geometry”]作为字典
self.fetchedaddress经度=((几何体[“位置”]作为字典)[“lng”]作为NSNumber)。doubleValue
self.fetchedAddressLatitude=((几何体[“位置”]作为字典)[“纬度”]作为NSNumber)。doubleValue
completionHandler(状态:status,success:true)
}
否则{
completionHandler(状态:status,success:false)
}
}
})
}
否则{
completionHandler(状态:“无有效地址”,成功:false)
}
}
这是我的GitHub


先谢谢你

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

我建议您先阅读,然后用一些更详细、更具体的信息编辑您的问题。谢谢您的建议。我已根据你的建议编辑了我的问题@JamesWoodI已经有MapTasks,如果你看到我的GitHub repo,你就会找到它。我检查了你的GitHub repo。您的类名是MapTask。但我认为应该是MapTasks,因为s.Oopss犯了一个愚蠢的错误。顺便说一句,非常感谢,它解决了错误。
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)
    }
}