有问题:'Result<Any, AFError>' 类型的值没有成员'value' [重复]

Posted

技术标签:

【中文标题】有问题:\'Result<Any, AFError>\' 类型的值没有成员\'value\' [重复]【英文标题】:Have problem: Value of type 'Result<Any, AFError>' has no member 'value' [duplicate]有问题:'Result<Any, AFError>' 类型的值没有成员'value' [重复] 【发布时间】:2021-04-10 17:41:23 【问题描述】:

试图从结果中获取价值。有人知道如何解决吗?也许其他的一些其他解决方案。

func downloadForecastWeather(completed: @escaping DownloadComplete) 
    Alamofire.request(FORECAST_API_URL).responseJSON  (response) in
        let result = response.result
        if let dictionary = result.value as? Dictionary<String, AnyObject>  // There is an error.
            if let list = dictionary["list"] as? [Dictionary<String, AnyObject>] 
                for item in list 
                    let forecast = ForecastWeather(weatherDict: item)
                    self.forecastArray.append(forecast)
                
                self.forecastArray.remove(at: 0)
                self.tableView.reloadData()
            
        
        completed()
    

【问题讨论】:

【参考方案1】:

如果你想使用价值,那么在response上调用value 例如:response.value

所以这将是

if let dictionary = result.value as? Dictionary<String, AnyObject>

如果你想使用result那么应该是这样的

let result = response.result
switch result 
 case .success(let data):
  //Parse data
 case .failure(let afError):
  //Handle error

请参考以下来自 Alamofire 的 Response 截图以供参考:

【讨论】:

以上是关于有问题:'Result<Any, AFError>' 类型的值没有成员'value' [重复]的主要内容,如果未能解决你的问题,请参考以下文章

MySQL中子查询IN,EXISTS,ANY,ALL,SOME,UNION介绍

CoreData 谓词 ANY + AND 与多对多关系

Result || IResult

Android Kotlin ProGuard 规则错误?

使用 Fuel 和 Result 将字节数组转换为 Json

为什么kotlin jackson无法反序列化列表