2017-06-25 6 views
1

私はそれが単純だと思ったが、一見そうではなかった。 私は、このpictureのように、ラベルに値を表示したいNSSliderを持っています。このpictureに示すような設定では、バインドtakeIntValueFromを使ってうまくいきます。今私は、このスライダは新しいUserDefaults値を設定したい:NSSlider:値とアクションを同時に送信する方法は?

@IBAction func sliderAction(_ sender: NSSlider) { 

     UserDefaults.standard.set(sliderOutlet.intValue, forKey: "sliderkey") 

     print(UserDefaults.standard.integer(forKey: "sliderkey")) 
    } 

このactionfuncはtakeIntValueFrom - 結合を削除します。だから最後に、それはどちらかですか?今のところ、私はそれをどのように動作させるかの解決策を見つけることができませんでした。いくつかのアイデアを得るのが楽しいですか?

答えて

1

ラベルの値をsliderActionに設定します。

または、冒険的な場合は、スライダーの値とラベルの値を、同じキーパスを持つ共有ユーザーデフォルトコントローラーにバインドします(Bindings Inspector)。スライダーの動作は接続されていません。

+0

ありがとう、特に回答の2番目の部分です。これは本当にエレガントです。 –

関連する問題