我想用" sliderValue"中的数据创建一个全局变量。我该怎么做
@IBOutlet weak var label: UILabel!
override func viewDidLoad() {
self.view.backgroundColor = UIColor(red: 66.0/255, green: 150.0/255, blue: 65.0/255, alpha: 1.0)
}
@IBAction func slider(sender: UISlider) {
var sliderValue = lroundf(sender.value)
label.text = "\(sliderValue)"
}
答案 0 :(得分:0)
您需要做的就是在类中定义一个变量。像这样:
var sliderValue: Int
我认为这是您正在使用的方法的正确数据类型,但会根据需要进行更改。
答案 1 :(得分:0)
你可以简单地把它当作下面的
var globeRateVal : Float = 1.0
//initialize value by slider default value.
然后在你的代码滑块方法或任何设置如此
globeRateVal = slider.value
你仍然有困惑随意问我。
答案 2 :(得分:0)
如果您想从任何文件或类中访问sliderValue
的数据,就可以这样做。
*出于结构目的,创建一个新的.Swift文件来管理全局数据变量(例如SharedData.swift)
第一步
在SharedData.Swift
中写下以下内容:
class SharedDataRecord {
class var sharedInstanceRec: SharedDataRecord {
struct Static {
static var instance: SharedDataRecord?
static var token: dispatch_once_t = 0
}
dispatch_once(&Static.token) {
Static.instance = SharedDataRecord()
}
return Static.instance!
}
var sliderValue : Int
var sliderName: String = ""
var sliderAge: Int
}
这个课程可以帮助你保存"任何数据进入sliderValue即Int
。同时说你有更多想要保存的变量,所以你只需像我一样在它下面添加更多变量。
下一步
在.Swift
文件中,您需要获得sliderValue
数据..
SharedDataRecord
类存储在变量然后,在获得sliderValue
的数据后,您将该数据设置为SharedDataRecord
中的属性,就像我在下面所做的那样。
class mainVC : UIViewController {
var sharedData = SharedDataRecord.sharedInstanceRec
@IBOutlet weak var label: UILabel!
override func viewDidLoad() {
self.view.backgroundColor = UIColor(red: 66.0/255, green: 150.0/255, blue: 65.0/255, alpha: 1.0)
}
@IBAction func slider(sender: UISlider) {
var sliderValue = lroundf(sender.value)
label.text = "\(sliderValue)"
self.sharedData.sliderValue = sliderValue
}
}
第三步
运行该功能后,sliderValue
数据将保存在self.sharedData.sliderValue
中,您可以在应用中的任何其他位置使用该数据。
你只需要再次将类添加到变量中,只需调用属性:
class secondVC : UIViewController {
var sharedData = sharedDataRecord.sharedInstanceRec
override func viewWillAppear(animated: Bool) {
print(self.sharedData.sliderValue)
}
}
更简单的方法
class viewController : UIViewController {
var sliderValue : Int = 66
@IBOutlet weak var label: UILabel!
override func viewDidLoad() {
self.view.backgroundColor = UIColor(red: 66.0/255, green: 150.0/255, blue: 65.0/255, alpha: 1.0)
}
override func viewWillAppear() {
if sliderValue != nil {
let red = CGFloat((sliderValue & 0xFF0000) >> 16) / 255.0
self.view.backgroundColor = UIColor(red: red, green: 150.0/255, blue: 65.0/255, alpha: 1.0)
} else {
return
}
}
@IBAction func slider(sender: UISlider) {
sliderValue = lroundf(sender.value)
label.text = "\(sliderValue)"
}