私はSwiftを初めて使っていて、phpを通してサーバーから資格を取得するチュートリアル(かなり古い) JSONが返されますが、私はエラーAmbiguous reference to member jsonObject(with:options:)
がjson varに残っています。私は検索し、さまざまなソリューションを適用しようとしていますが、無駄です。 :(jsonからデータを取得しようとしたときのメンバーjsonObject(with:options:) `へのあいまいな参照
はあなたの時間と助けてくれてありがとう
ここに私のコードです:。
let userEmail = userEmailTextField.text;
let userPassword = userPasswordTextField.text;
if((userEmail?.isEmpty)! || (userPassword?.isEmpty)!) {
displayMyAlertMessage(userMessage: "All Fields are required.")
return;
}
let myUrl = URL(string: "/UserLogin.php");
var request = URLRequest(url:myUrl!);
request.httpMethod = "POST";
let postString = "email\(userEmail)&password=\(userPassword)";
request.httpBody = postString.data(using: String.Encoding.utf8);
let task = URLSession.shared.dataTask(with: request as URLRequest) {
data, URLResponse, error in
if error != nil {
//print = ("error=\(error)");
return
}
var err: Error?
var json = JSONSerialization.jsonObject(with: data, options: .mutableContainers, error: &err) as? NSDictionary
if let parseJSON = json {
var resultValue:String = parseJSON["status"] as String!;
print("result: \(resultValue)")
if(resultValue == "Success") {
//Login Succesful
UserDefaults.standard.set(true, forKey:"isUserLoggedIn");
UserDefaults.standard.synchronize();
self.dismiss(animated: true, completion: nil);
}
}
}
task.resume()
エラーは、エラーパラメータを省略して、キャッチエラー処理を実装する必要があるということです。 URLRequestをURLRequestとしてキャストすることは意味がありません。 URLドメインとスキームを含めるのを忘れてしまった。 –
jsonオブジェクトをSwiftネイティブ辞書 'に変換する必要がありますか? NSDictionaryを使用する代わりに[String:Any] 'を使用してください。 –