我想成为一种变量发送到字典服务器,但在这一行中,我遇到了一个问题let task = session.dataTaskWithRequest(todosUrlRequest)错误:Cannot convert value of type 'NSURL' to expected argument type 'NSURLRequest'
我有两个问题
1)这是什么错误?
2)我在岗位上有没有使用过程序,对吗?不需要其他东西。??
谢谢你的帮助

func data_request (){

            let url = "http://sample.com/api/Flight/GetTicketInformation"
            guard let todosUrlRequest = NSURL(string: url) else {
                print("Error: cannot create URL")
                return
            }

            let request = NSMutableURLRequest(URL: todosUrlRequest)
            request.HTTPMethod = "POST"
            request.cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringCacheData

            let newTodo = ["Roundtrip": roundTrip,
                           "OneWay": oneWay,
                           "MultiWay": multiWay,
                           "Adult": numberAdults,
                           "Child": numberchild,
                           "Baby": numberinfant,
                           "SourceCityId": cityIDOrigin,
                           "DestinationCityId": cityIDPurpose,
                           "DepartingDate": raftDate,
                           "ReturningDate": bargashtDate ]
            let jsonTodo: NSData
            do {
                jsonTodo = try NSJSONSerialization.dataWithJSONObject(newTodo, options: [])
                request.HTTPBody = jsonTodo

            } catch {
                print("Error: cannot create JSON from todo")
                return
            }
            request.HTTPBody = jsonTodo

            let config = NSURLSessionConfiguration.defaultSessionConfiguration()
            let session = NSURLSession(configuration: config)

            let task = session.dataTaskWithRequest(todosUrlRequest) {
                (data, response, error) in

                guard let responseData = data else {
                    print("Error: did not receive data")
                    return
                }
                guard error == nil else {
                    print("error calling POST on /todos/1")
                    print(error)
                    return
                }

                // parse the result as JSON, since that's what the API provides
                do {
                    guard let receivedTodo = try NSJSONSerialization.JSONObjectWithData(responseData,
                                                                                        options: []) as? [String: AnyObject] else {
                                                                                            print("Could not get JSON from responseData as dictionary")
                                                                                            return
                    }
                    print("The todo is: " + receivedTodo.description)


                } catch  {
                    print("error parsing response from POST on /todos")
                    return
                }
            }
            task.resume()
        }

最佳答案

request而不是todosUrlRequest线上的let task = session.dataTaskWithRequest(todosUrlRequest)
第二个问题,不知道。对不起的

09-28 07:09