“由于‘内部’保护级别,‘isSuccess’无法访问”,AlamoFire 无法像以前一样工作

问题描述 投票:0回答:1

我在 swift 上使用 alamoFire,但我遇到了这个问题:“由于‘内部’保护级别,无法访问 isSuccess”。 我试过this我也试过this, 这是我的代码:

AF.request(jsonURL, method: .get, parameters: parameters).responseJSON { (response) in
       if response.result.isSuccess { //problem is here
            print("Got the info")
            print(response)
            
            let flowerJSON : JSON = JSON(response.result.value!)

            let list = flowerJSON["..."]["..."]["..."].stringValue
            
           print(list)
            
        }
    }
ios json swift alamofire
1个回答
11
投票

result
现在是内置的
Result
枚举类型,这意味着您可以对其进行模式匹配。您的代码可以重写为:

AF.request("", method: .get, parameters: [:]).responseJSON { (response) in
    if case .success(let value) = response.result {
        print("Got the info")
        print(response)
        
        let flowerJSON : JSON = JSON(value)
        ...
    }
}

如果您还想要错误情况,请使用 switch 语句:

switch response.result {
case .success(let value):
    // ...
case .failure(let error):
    // ...
}
© www.soinside.com 2019 - 2024. All rights reserved.