2017-08-24 16 views
0

私はXcode 8.3とSwift言語を使ったチュートリアルに従っています。このチュートリアルでは、テキストフィールドに数字(猫の年齢)を入力してボタンを押し、7を乗算してラベルに猫の年齢を表示するアプリを作っています。私は指示を正確に守ったが、ボタンを押したときにラベルが変わったり更新されたりしていない。私はラベルが接続されていると確信しています、私は正しい変数名を使用しています。私は何が間違っているのか分からない。ラベルをintにするにはどうすればよいですか?

import UIKit 

class ViewController: UIViewController { 
    @IBOutlet weak var ageTextField: UITextField! 
    @IBOutlet var ageLabel: UILabel! 

    @IBAction func buttonTapped(_ sender: Any) { 
     let ageInCatYears = Int(ageTextField.text!)! * 7 

     ageLabel.text = String(ageInCatYears) 
    } 
} 
+0

@Siyavashあなたが代表者とはどういう意味ですか、あなたのテキストをアンラップするif letを使うのか?テキストフィールドをView Controllerに接続しました。基本的な質問を申し訳ありません!私は本当にこれの初心者です。 –

+0

ブレークポイントを追加したり、その@IBActionの中に何かを印刷しようとしましたか?それは電話ですか?はいの場合は、テキストフィールドを取得している場合はどのような値ですか? – Woof

+0

ラベルが接続されていることを確認し、ボタン操作でprint(ageInCatYears)を表示し、正しい値を取得しているかどうかを確認してください。 – 3stud1ant3

答えて

0
  1. インタフェースビルダであなたのコントローラをクリックします。接続インスペクタ上

  2. をクリックして、アウトレットとアクションのすべてが接続されている

  3. チェック

enter image description here

+0

さて、私はそれをチェックし、彼らはすべて接続されていることを確認した、それは今動作します。ありがとうございました! –

0

あなたは正しくストーリーボードからIBOutletsとABActionsをフックアップしているかどうかをまずチェックあなたのViewControllerに。オープンStoryboard -> Select ViewController -> Open Assistant Editor -> Connect Outlets and IBAction

もう一つは

@IBAction func buttonTapped(_ sender: Any) { 
    if let num = ageTextField.text, let age = Int(age) { 
    let ageInCatYears = age * 7 
    ageLabel.text = String(ageInCatYears) 
    } 
} 

Connecting ButtonTapped Action via IBAction

関連する問題