我使用Interface Builder创建IBAction
@IBAction func slider(sender : NSSlider) {
var x:Double = Double(self.slider.value())
}
现在我想获取并使用其当前值。有没有人对在OSX上使用SWIFT学习Cocoa开发有很好的建议?在教程中,我看到了对UISlider和UIButton的引用,但Interface Builder在代码中为NSButton和NSSlider创建了引用。我糊涂了。提前谢谢。
答案 0 :(得分:3)
所有" UI"前缀控件是UIKit框架的一部分,用于开发iOS应用程序。如果您正在为OS X开发,那么您将使用AppKit,它首先出现并使用" NS"其控件的前缀。可能还没有很多关于Swift OS X开发的教程,但是无论您选择Swift还是Objective-C,您正在使用的Cocoa框架都是相同的。
NSSlider没有value()
方法,但它确实具有doubleValue
属性,这正是您所需要的。当滑块的值发生变化时,将调用您设置的方法:
@IBAction func slider(sender : NSSlider) {
var x: Double = sender.doubleValue
// do something
}
如果您想在任意时间获取滑块的值,则您需要设置IBOutlet
而不是:
@IBOutlet var slider: NSSlider