xcode - 网络请求失败

标签 xcode swift networking

我刚刚开始快速,我正在尝试发出这样的发布请求:

import UIKit

class ViewController: UIViewController {


    @IBOutlet var txtEmail: UITextField!
    @IBOutlet var txtPassword: UITextField!
    @IBOutlet var btnLogin: UIButton!


    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    @IBAction func btnSignIn(sender: AnyObject) {
        let session = NSURLSession.sharedSession()
        let url = NSURL(string: "http://temp.com/api/v1/login")!
        let request = NSMutableURLRequest(URL: url)
        request.HTTPMethod = "POST"
        let task = session.dataTaskWithRequest(request) {
            (data, response, error) in
            guard let data = data else {print(error); return}

            let result = NSString(data: data, encoding: NSUTF8StringEncoding)
            print(result)

        }
        task.resume()
    }

}

当我在 Xcode 中启动模拟器时,它显示构建成功,然后在以下情况下崩溃:

class AppDelegate:

消息:

Thread 1: signal SIGABRT

我做错了什么?当我在 Playground 上测试它时,它有效!

最佳答案

看起来它在 AppDelegate 中崩溃了,如果没有看到其中的代码,我将无法准确地告诉您问题是什么。

如果删除 btnSignIn 方法中的代码,它还会崩溃吗?

我通常像这样处理我的 POST 请求:

let session = NSURLSession.sharedSession()
let url = NSURL(string: urlString)
let request = NSMutableURLRequest(URL: url!)
request.HTTPMethod = "POST"

// fill the request body, my API accepts JSON params
if let jsonData = try? NSJSONSerialization.dataWithJSONObject(parameters, options: .PrettyPrinted) {
    request.HTTPBody = jsonData
} else {
    print("error sending params as JSON, params: \(parameters)")
}

let task = session.dataTaskWithRequest(request) { (data, response, error) in
    self.handleResponse(request, data: data, response: response, error: error, completionHandler: completionHandler)
}

task.resume()

关于xcode - 网络请求失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38169243/

相关文章:

xcode - 我无法让键值链 (KVC) 在 Swift 中用于复合点路径

ios - Segue 和 displayMessage 函数不起作用 - Swift 3/4

networking - 在 Compact Framework 中检测 'Network Cable Unplugged'

ios - iOS 的重复符号链接(symbolic link)错误

swift - Core Image 调整 CIImage 大小而不损失质量

ios - 如何从应用程序委托(delegate)获取打开的 View

ios - 更改/动画 UITextView 中的最大行数?

ios - 为什么我的一个 swift 文件的打印结果没有出现在 xcode 调试区域

c++ - 非阻塞发送功能

java - Digital Ocean为spring boot应用开放8080端口