使用SwiftyJSON

时间:2016-09-04 09:44:53

标签: ios json swift xcode post

我正在使用Xcode和Swift开发一个iOS应用程序。

我正在使用SwiftyJSON.swift和以下代码获取JSON数据:

import UIKit

class ViewController: UIViewController {

    var dict = NSDictionary()

    @IBOutlet weak var firstLb: UILabel!
    @IBOutlet weak var secondLb: UILabel!

    override func viewDidLoad() {

        super.viewDidLoad()

        let urlString = "http://example.com/showUserInfo.php"

        if let url = NSURL(string: urlString) {

            if let data = try? NSData(contentsOfURL: url, options: []) {

                let json = JSON(data: data)

                print(json)

                let f = json[0]["name"].stringValue

                let s = json[0]["age"].stringValue

                firstLb.text = f

                secondLb.text = s
            }
        }
    }
}

工作正常,但我希望能够发布到我的PHP脚本。 (我的PHP脚本已准备就绪。它可以接收POST数据并处理它。)

我通常使用以下代码将数据发送到PHP:

let request = NSMutableURLRequest(URL: NSURL(string: "http://example.com/showUserInfo.php")!)
request.HTTPMethod = "POST"
let postString = "username=MyUserName"
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)

这意味着:我知道如何使用JSON获取数据,我知道如何将值发布到PHP。但不幸的是,我无法将两者结合起来。

有人知道如何将它们结合起来吗?如何将值发布到获取JSON数据的PHP脚本?

1 个答案:

答案 0 :(得分:-1)

要将数据发布到服务器,您应该使用In-build API,或者您可以使用名为Alamofire的非常着名的库

示例代码:

    let params:[String:AnyObject] = [
        "foo" : 1,
        "bar" : 2
    ]

    request(.POST,  "URL", parameters: params)
        .responseJSON { response in

            switch response.result {
            case .Success(let JSON):
                print("JSON: \(JSON)")

            case .Failure(let error):
                print("Request failed with error: \(error)")
            }
    }