执行swift3错误

时间:2017-04-21 08:06:48

标签: swift

我正在使用Swift 3进行登录,但我发现了一个可能很愚蠢的错误,但我被卡住了。如果你这么善良,我需要帮助。我附上了这段代码和一张照片,以使一切更清晰。谢谢

Screenshot of error

        if let data_block = server_response["data"] as? NSDictionary
        {
            if let session_data = data_block["session"] as? String
            {
                let preferences = UserDefaults.standard
                preferences.set(session_data, forKey: "session")

                DispatchQueue.main.async {
                    execute:self.LoginDone()
                }
            }
        }
    })
    task.resume()
}

1 个答案:

答案 0 :(得分:3)

在swift中,只有当闭包是最后一个参数时,才能省略括号,然后:

DispatchQueue.main.async(execute: {
    self.LoginDone()
})

可以这样写:

DispatchQueue.main.async {
    self.LoginDone()
}