2017-05-22 6 views
0

私は現在、ユーザーがMySQLデータベースにデータを送信して登録できるXcodeアプリケーションを開発中です。私はちょうどいくつかの質問があります。スウィフトはオプションの値を返します

最初の質問は、10,13,15行目です。「文字列補間では、オプションの値のデバッグの説明が表示されますが、これを明示することを意味しましたか?」という警告が表示されます。とにかく、値がオプションでないようにコードを変更することはできますか?

また、送信される応答文字列は、 "responseString = Optional(このユーザー名は使用可能)"のように表示されます。私はユーザーに情報を表示するためにレスポンス文字列を使用することを計画していました。とにかく私はかっこを取り除くことができますが、オプションの単語と同様ですか?

@IBAction func TextFieldEditingDidChange(_ sender: Any) { 
    let request = NSMutableURLRequest(url: NSURL(string: "usernamecheck.php")! as URL) 
    request.httpMethod = "POST" 
    print("Request: \(request)") 
    let postString = "username=\(usernameTxt.text!)" 
    request.httpBody = postString.data(using: String.Encoding.utf8) 
    let task = URLSession.shared.dataTask(with: request as URLRequest) { 
     data, response, error in 
     if error != nil { 
      print("error=\(error)") 
      return 
     } // Ends errror If statements 
     print("response = \(response)") 
     let responseString = NSString(data: data!, encoding: 
      String.Encoding.utf8.rawValue) 
     print("responseString = \(responseString)") 
    } 
    task.resume() 
} 

部PHPファイル:

$a_sql = mysqli_query($con, "SELECT username FROM users WHERE username = '" . mysqli_real_escape_string($_POST['username']) . "' ; "); 
if (empty($_POST['username'])) { 
    $username_error = "Please input username"; 
} else { 
    $a_sql; 
} 
if ($a_sql && mysqli_num_rows($a_sql) > 0) { 
    $username_exists = "Username is already taken."; 
    echo $username_exists; 
} else { 
    echo "Fail"; 
} 
+0

なぜインデントが嫌いですか? – Alexander

答えて

0
guard let message = responseString else { 
    return 
} 
print(message) 

実は、あなたが今、メッセージにオプションのresponsestringをアンラップしている場合スウィフトを学ぶ誰もが

1
guard let unwrappedMessage = originalMessage else { return } 

これはoptionalsをアンラップするための方法の一つですが、最後に、それはあなたが何をしたいかに依存...

ますSwiftの選択肢について実際に読んでください。聞かせてメッセージ=メッセージは{ プリント(メッセージ) }

0

を学ぶ必要があることを非常に非常に簡単で、初心者のトピックイットですもしそれがnilを含んでいれば、それは例外を与えず、elseの場合に入るでしょう。 一方、値はメッセージに格納され、さらに使用することができます

+0

ニース。あなたの答えと一緒にいくつかの説明をしてください。 –

関連する問題