2017-06-30 9 views
0

私はスライダーとテキストフィールドを持つフォームを持っています。ユーザーがキーボードとスライダを使用して値を入力し、値に基づいて移動できるようにします。テキストフィールドの値に基づいてUIスライダーを移動

スライダを使用して値を変更したいと思っています。これは機能します。しかし、キーボードを使って値を入力しようとすると、アプリがクラッシュします。指定されたエラーは、ビュー内

コードがしたロード

orgDiscounttxt.addTarget(self, action: Selector(("chgTextFieldDidChange:")), for: UIControlEvents.editingChanged) 

外の景色を喜ば////やっ負荷

func chgTextFieldDidChange(textField: UITextField) 
{ 
    if let chgStringValue = orgDiscounttxt.text 
    { 
     if let chgIntValue = Int(chgStringValue) 
     { chgDiscountSlider.setValue(Float(Double(chgIntValue)), animated: true) 
     } 
    } 
} 

// Controllsスライダ「タイプのNSExceptionのキャッチされない例外で終了」しています変更テキストフィールドの値

@IBAction func mortgageDiscountSlider(_ sender: UISlider) { 

    orgDiscounttxt.text = String(format: "%.2f",Double(sender.value)) 


} 

Linked outlets

+0

あなたのコンセントが正しく接続されているようで、次のような接続は、パネルで[OKかどうか確認してください。エラーが発生した正確な行とコンソール上の完全なメッセージを通知してください。また、おそらく関係はありませんが、 'Selector(chgTextFieldDidChange(textField :))'の 'Selector((" chgTextFieldDidChange: "))'を変更することをお勧めします。 – valcanaia

答えて

0

EDIT:固定OPの問題

#selector(chgTextFieldDidChange(textField:))ためSelector(("chgTextFieldDidChange:"))を交換してください。

オリジナルと最もcommom答え:

Terminating with uncaught exception of type NSExceptionメッセージは通常、IBOutletとXIBやストーリーボードとの間の接続には、いくつかの問題に関連しています。

enter image description here

+0

上記の画像に掲載されているように、コンセントは「SearchDispalyController」の下に表示されていません。これは私の問題ですか?そうなら、コンセントをこの方法でどうすればいいですか? –

+0

ユーザーが3より大きい値を入力した場合にエラーメッセージをトリガする方法を理解するようになりました。ありがとう –

関連する問題