不能将[任何对象]类型的值转换为期望参与类型'每小时温度'

时间:2016-10-18 04:15:38

标签: swift

class func getHourlyWeather(searchString:String,completionHandler:(HourlyTemperatures)-> ()){


        var hourTemperatureArray = [AnyObject]()


         let hourtempObj = HourlyTemperatures(hourlyTemperatureInF:34 , hourlyTime: 2, hourlyIcon: sunny, hourlyAmPm: 4) as AnyObject

         hourTemperatureArray.append(hourtempObj)

                    }
                    completionHandler(hourTemperatureArray)

                } catch let error as NSError {
                    print("error processing json data: \(error.localizedDescription)")
                }

            }
            else{
                print("Error details:: \(error!.localizedDescription)")
            }

        })
        task.resume()

    }


//function call

WeatherConnection.getHourlyWeather("AKhil",completionHandler: { (tempArray:HourlyTemperatures) -> () in
})

1 个答案:

答案 0 :(得分:1)

如果您要传递[HourlyTemperatures]数组,则completionHandler类型应为[HourlyTemperatures]而不是HourlyTemperatures,同样在您的方法中,您还需要调用{{在具有空completionHandler的else部分中的1}}。如果您创建Array而不是[HourlyTemperatures]的数组,那就更好了。所以改变你的代码如下。

[AnyObject]