Как вы используете элемент управления ползунком Cocoa в SWIFT с OSX

#objective-c #macos #cocoa #swift

#objective-c #macos #cocoa #swift

Вопрос:

Я создаю IBAction с помощью Interface Builder

   @IBAction func slider(sender : NSSlider) {
    var x:Double = Double(self.slider.value())

}
 

Теперь я хотел бы получить и поработать с его текущим значением. Есть ли у кого-нибудь хорошие предложения по изучению разработки Cocoa с использованием SWIFT на OSX? В учебных пособиях я вижу ссылки на UISlider и UIButton, но Interface Builder создает ссылки в коде на NSButton и NSSlider. Я в замешательстве. Заранее благодарю вас.

Ответ №1:

Все элементы управления с префиксом «UI» являются частью фреймворка UIKit, который используется для разработки приложений для iOS. Если вы разрабатываете для OS X, вы будете использовать AppKit, который появился первым и использует префикс «NS» для своих элементов управления. Вероятно, пока не так много руководств по разработке Swift OS X, но фреймворки Cocoa, с которыми вы работаете, одинаковы, независимо от вашего выбора Swift против Objective-C.

У NSSlider нет value() метода, но у него есть doubleValue свойство, которое вам нужно. Метод, который вы настроили, будет вызываться при изменении значения ползунка:

 @IBAction func slider(sender : NSSlider) {
    var x: Double = sender.doubleValue
    // do something
}
 

Если вы хотите получить значение ползунка в произвольное время, вам нужно IBOutlet вместо этого настроить:

 @IBOutlet var slider: NSSlider