我有一个类:如何设置我的UISlider和UISwitch的初始值?
class DiscoverySettings {
var alert:Bool
var distance:Int
var minAge: Int
var maxAge: Int
private init(){
alert = true
distance = 50
minAge = 18
maxAge = 25
}
}
在另一个控制器,我这样做:
var discovery_model = DiscoverySettings()
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == Constants.EditDiscoverSegue {
if let dseg = segue.destinationViewController.contentViewController as? DiscoverySettingsViewController {
dseg.dsettings = discovery_model
}
}
}
这是我做我的updateUI()初始设置:
@IBOutlet weak var distanceSlider: UISlider!
@IBOutlet weak var alertSwitch: UISwitch!
var dsettings: DiscoverySettings? {
didSet{
updateUI()
}
}
let ageSlider = RangeSlider(frame: CGRectZero)
override func viewDidLoad() {
super.viewDidLoad()
}
func updateUI(){
self.distanceSlider.value = Float(dsettings?.distance) //error
self.alertSwitch = dsettings?.alert //error
}
我在设置这些值的行上出现诸如“无法找到接受提供参数的init的重载”和“无法找到超载NSNumber不是UISwitch的子类型”的错误。
我不确定为什么会出现这些错误,因为我在类中定义了类型。
仍然收到相同的错误 – TIMEX 2015-04-05 16:22:51
您在哪一行收到错误? – Abdullah 2015-04-05 16:25:12
这两行我设置的值。 – TIMEX 2015-04-05 16:26:11