2016-09-04 3 views
0

Я разрабатываю приложение iOS с Xcode и Swift.Данные POST при получении JSON с SwiftyJSON

Я получаю данные JSON с SwiftyJSON.swift и следующий код:

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, и я знаю, как POST значение для PHP. Но, к сожалению, я не могу совмещать оба.

Кто-нибудь знает, как их сочетать? Как POST значение для PHP-скрипта, где вы получаете данные JSON?

+0

Вы можете оставить свой PHP код для получения дополнительной помощи , –

+0

Почему? PHP-код содержит '$ username = $ _POST ['username'];'. Как я могу отправить значение из моего кода Swift в свой PHP-скрипт? – David

+0

Дэвид, вы поняли это неправильно. Покажите нам свою попытку опубликовать данные. Объясните, что не работает, и мы вам поможем. Это не может быть сайт «I haz code». – vikingosegundo

ответ

-1

Для отправки данных на сервер, вы должны использовать In-строить интерфейсы 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)") 
      } 
    } 
+0

Я предпочитаю не библиотечное решение. Вы знаете его? – David

+0

@ David Alamofire - это в значительной степени отраслевой стандарт ... Почему вы хотите изобрести колесо? – Sajjon

+1

@Sajjon Я предпочитаю индивидуальные решения, и я не хочу использовать CocoaPod. Или есть способ установить Alamofire без CocoaPod? – David