前提・実現したいこと
テキストで書いたデータをサーバーに.phpで送りたくてネットのページを参考にコードを書きました。
var dic = NSJSONSerialization.JSONObjectWithData(data!, options:nil, error: nil) as NSDictionary
の部分でエラーが出てしまいます。
エラーは
Extra argument 'error' in call
Swift version 5.0.1を使用しています。
発生している問題・エラーメッセージ
Extra argument 'error' in call
該当のソースコード
var dic = NSJSONSerialization.JSONObjectWithData(data!, options:nil, error: nil) as NSDictionary
試したこと
ネットで検索したところ
do {
let json = try NSJSONSerialization.JSONObjectWithData(data, options: .AllowFragments) as! [String: AnyObject]
...
} catch let error as NSError {
// エラー処理をする
}
というやり方が出てきました。エラー処理の部分に何を書いたらよいのかわからず、他の部分にもエラーが増えたため質問することにしました。
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
書いたコードをここに張り付けます。
import UIKit
class ViewController: UIViewController, UITextFieldDelegate, URLSessionTaskDelegate{
var json:NSData!
@IBOutlet weak var textFiled: UITextField! override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } /* UITextFieldが編集された直後に呼ばれる. */ func textFieldDidBeginEditing(_ textField: UITextField){ print("textFieldDidBeginEditing:" + textField.text!) } /* UITextFieldが編集終了する直前に呼ばれる. */ func textFieldShouldEndEditing(_ textField: UITextField) -> Bool { print("textFieldShouldEndEditing:" + textField.text!) // まずPOSTで送信したい情報をセット。 let str = "text=(textField.text!)" let strData = str.data(using:.utf8) let url: NSURL = NSURL(string: "http://localhost/")! var request = NSMutableURLRequest(url: url as URL) request.httpMethod = "POST" request.httpBody = strData
//URLで特定されるリソースを実際に取得URLSessionTask
let data = URLSession.shared.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) in /*URLSession.shared.dataTask(with: request, completionHandler: { (data, response, error) in*/ if error != nil { print(error as Any) return } print("response: (response!)") let phpOutput = String(data: data!, encoding: .utf8)! print("php output: (phpOutput)") }) data.resume() /*var data = NSURLConnection.sendSynchronousRequest(request, returningResponse: nil, error: nil)*/ //(JSONSerialization)プログラムで扱えるようなデータ構造の集合体に変換すること var dic = JSONSerialization.JSONObjectWithData(data!, options: nil, error: nil) as NSDictionary return true } /* 改行ボタンが押された際に呼ばれる. */ func textFieldShouldReturn(_ textField: UITextField) -> Bool { textField.resignFirstResponder() return true }
}
回答1件
あなたの回答
tips
プレビュー