2017-02-13 13 views
0

Xcodeで翻訳語を作成したいと思います。 たとえば、テキストフィールドに200を書き込むと、ラベルにokを印刷したいとします。テキストフィールドに200を書き込む場合ラベルにokを印刷したい

@IBOutlet weak var textLabel: UILabel! 
@IBOutlet weak var textField: UITextField! 
@IBOutlet weak var Button: UIButton! 

var responseMessages = [200: "OK", 
         403: "Access forbidden", 
         404: "File not found", 
         500: "Internal server error"] 

@IBAction func buttonSender(_ sender: Any) { 
    textLabel.text = textField.text 
} 
+0

あなたのコードが不完全で、かつ:

あなたはこのような何かを行うことができます。変数responseMessagesは辞書には適していますが、何にも束縛されていません! (1)いくつかのボタンをタップしてから、(2)textFieldのテキストを辞書に対して照会してから、(3)textLabelに辞書の値を入力したいと思うでしょう。しかし、何を試しましたか? textFieldでユーザーが "201"または "200:OK"または "Hello World"を書き込んだ場合はどうなりますか? – dfd

+0

どのように私はtextfieldでresponseMessagesを結びつけることができますか?ユーザーが201を書いた場合、どのようにエラーメッセージを表示できますか? – Falex

+0

投稿された回答はまともなスタートです。あなたはもっと何かをしたいかもしれません。あなたがHTTPコードを扱うことを考えているとすれば、UITextFieldを使うことに代わるものを考え直してください。これをもっと細かくする方法はありますが、コーディングしていないものは許されません。 – dfd

答えて

0

私があなたの質問を正しく理解していれば、あなたはちょうど辞書のキーの価値を求めたいのですか?危険な(あると)おそらく

@IBAction func buttonSender(_ sender: Any) { 
    if let i = responseMessages[Int(textField.text)]{ 
     textLabel.text = i 
    }else{ 
     textLabel.text = "Error: Invalid Number" 
    } 
} 
+0

私は同意する、これはOPのための良いスタートです。しかし、これは "Hello World"や "Ok"の原因ではありません。これらの値は0(またはさらに悪い)のチェックになり、応答がHTTP 200であるため「OK」または「OK」と入力すると、このエラーが発生するのと混同されます。 – dfd

関連する問題