我有一個類:如何設置我的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