php - Swift:如何查询外部数据库执行登录?

标签 php ios database swift

我是 Swift 和 iOS 的新手,为了考试,我正在开发一个小的 iOS 应用程序。首先要做的是登录:在我的 View Controller 中,我有 2 个文本字段(登录名、密码)和一个“登录”按钮。我创建了一个带有属性的快速用户类(根据存储在数据库中的字段)。然后我创建了一个登录服务 swift 类,其中(按照 Youtube 教程)有这两个重要的方法:

func getUser(username:String, password:String, callback:(NSDictionary) -> ()) {
    self.settings.webServerLoginURL = "\(self.settings.webServerLoginURL)?username=\(username)&password=\(password)"
    println(self.settings.webServerLoginURL)
    self.requestLogin(self.settings.webServerLoginURL, callback: callback)

}

func requestLogin(url:String, callback:(NSDictionary) -> ()) {
    var nsURL = NSURL(string: url)
    let task = NSURLSession.sharedSession().dataTaskWithURL(nsURL!) {
        (data, response, error) in
        var error:NSError?
        var response = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &error) as! NSDictionary
        callback(response)

    }
    task.resume()

}

URL 应该是这样的:

localhost:8888/excogitoweb/loginM.php?username=xxx&password=xxx

现在我想试试这个东西,所以在我的 View Controller swift 文件中,我将按钮链接到以下方法:

@IBAction func doLogin(sender : AnyObject) {
    self.service = LoginService()
    self.service.getUser(self.userTextField.text, self.passwordTextField.text)
}

我不明白的是如何调用该函数,它的第三个参数应该是一个回调,以及总体上如何管理响应数据以检查登录是否正确:如果是这样,php 文件应该返回(在查询数据库)用户的信息与

echo json_encode()

所以我应该控制返回的数据是否为空。 你能帮助我或链接一些更有用的教程吗?

最佳答案

对于回调,让 Xcode 帮助您实现其自动完成功能。

开始输入您的方法调用:

self.requestLogin

并接受自动完成。

现在您看到 Xcode 已经突出显示了回调部分;单击一次选择它然后按 ENTER,Xcode 将自动正确格式化调用,如下所示:

self.requestLogin(self.settings.webServerLoginURL, { (myDictionary) -> () in
    println(myDictionary)
})

关于php - Swift:如何查询外部数据库执行登录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32205126/

相关文章:

php - 使用 php Imagick 保留背景调整 PNG 的大小

php - 适用于 PHP 5.4 版的 Magento 补丁

php和mysql独特的串行

php - Opencart SEO 打破分类直接

mysql - Grafana使用mysql数据库做图报错1064

.NET 数据库访问 : Newest technology, 比较 (2011)

ios - @synchronized block 与 GCD dispatch_async()

ios - 在 iOS 应用程序中制作不规则形状的可点击片段

ios - xCode 中的 Firebase.configure() 导致线程 1 : signal SIGABRT : terminating with uncaught exception of type NSException on App Delegate

java - java中同步方法的问题