2017-11-27 13 views
0

私は非常に新しいコーディングですが、パスワードを入力できるシンプルなテキストフィールドを作成しようとしていますが、そのパスワード/文字列が設定したパスワードと等しい場合、アクションを実行します..ここで私はこれまで持っているものですが、それはあなたがviewDidLoadメソッドからそれを呼び出すので、これは動作しない理由があるシンプルなIsEqualToパスワード、アドバイスが必要

@IBOutlet weak var KodeText: UITextField! 
@IBOutlet weak var enterknapp: UIButton! 

var password = "123" 




override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

    enterknapp.isEnabled = false 

    if password == KodeText.text { enterknapp.isEnabled = true 
} 

}

+0

あなたはブレークポイント* enterknappで確認しまし.isEnabled = true *が実行されていますか? – Oxthor

+0

UITextFieldDelegate関数の「shouldChangeCharactersIn」のパスワードを比較するか、viewDidLoadではなくUIButton(enterknapp)のClickイベントを比較します。 –

答えて

0

に動作しない用量。アプリケーションのライフサイクルでは、組み込みのメソッドの束が特定の順序で呼び出され、それらをオーバーライドすると、必要なものを実行できます。あなたのケースでは、viewControllerがnibからロードされたときにviewDidLoadが実行されます。現時点では、kodeTextには何もありません(プロパティ名には小文字を使用してください)。

あなたはどちらか別のボタンを設定し、アクション(ないenterknapp用などのアウトレットを作成し、あなたがそこにあなたのコードを実行するか、変更を確認するためにTextFieldDelegateプロトコルを実装する。

関連する問題