Could not cast value of type 'NSMutableURLRequest' (0x11beb7040) to 'Alamofire.URLRequestConvertible' (0x11beb9040)

让人想犯罪 __ 提交于 2019-11-29 22:38:33

问题


when build my code then crash on Alamofire.request(request as! URLRequestConvertible).responseJSON(). pls suggest how to fix this crash

let url = NSURL(string: "https://jsonplaceholder.typicode.com/users")
let request = NSMutableURLRequest(url:url! as URL)
request.httpMethod = "GET"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")

Alamofire.request(request as! URLRequestConvertible).responseJSON(){ response in

       switch response.result
       {
          case .success(let data):                
             print(" i got my Data Yup",data)          
          case .failure(let error):
             print(error)                                
        }
    }

回答1:


In Swift 3, all you have to do is to change NSMutableURLRequest to URLRequest and it will work. No need to cast. Also, set var so it can be swift mutable. :) Thanks, Markus for comment.




回答2:


change let request = NSMutableURLRequest(url:url! as URL) to var request = URLRequest(url: NSURL(string: url)! as URL) your code look like this:-

    let url = NSURL(string: "https://jsonplaceholder.typicode.com/users")
    var request = URLRequest(url: NSURL(string: url)! as URL)
    request.httpMethod = "GET"
    request.setValue("application/json", forHTTPHeaderField: "Content-Type")

    Alamofire.request(request as! URLRequestConvertible).responseJSON(){ response in

           switch response.result
           {
              case .success(let data):                
                 print(" i got my Data Yup",data)          
              case .failure(let error):
                 print(error)                                
            }
        }



回答3:


You can also try with following syntax for request method:

Alamofire.request(strURL,method: .post, parameters: parameters as? [String : AnyObject], encoding: URLEncoding.default)


来源:https://stackoverflow.com/questions/41114689/could-not-cast-value-of-type-nsmutableurlrequest-0x11beb7040-to-alamofire-u

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!