私のPHPは、check
という1つのフィールドしか持たない連想配列を含むJSONオブジェクトを送信します。このフィールドには、1
または0
が含まれます。値が0
のアラートを作成するには、この整数を使用します。私はlogという名前の外部メソッドvarを作成しようとしましたが、ここでは名前の値を与えようとしましたが、動作しません。すぐにJSONが受け取ったIntを使用する
@IBAction func LogIn(sender: UIButton) {
let verify = 0
let bodyString = "a=\(User_log.text!)&b=\(Password_log.text!)"
let bodyData = bodyString.dataUsingEncoding(NSUTF8StringEncoding)
let request = NSMutableURLRequest(URL: NSURL(string: "http://mysite/myFolder/login.php")!)
request.HTTPBody = bodyData
request.HTTPMethod = "POST"
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if data == nil {
print("request failed \(error)")
}
do{
let json = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? [String: Int]
if let name = json!["check"] {
if name == verify{
log = 0
}
else{
log = 1
}
}
}catch {
print("bom bom bom error")
}
}
task.resume()
}
を試してみてください?あなたが直面している問題について詳しく説明してください。 –
サーバは本当に 'Int'を返しますか? – vadian
JSONは{check = 1}のようです。コードを書いてみましょう:let name = json!["check"];名前は今では値1を持っています。私はtask.resume()の後にこの値を使いたいです。 – Alastair