Ios 如何访问滑块';它之外的s值';s在Swift中的作用?
我确信它很简单,但我不明白,这个函数可以很好地显示滑块的值(销售价格),但是我需要在下面的按钮方法中再次访问它,但不能传递销售价格值Ios 如何访问滑块';它之外的s值';s在Swift中的作用?,ios,swift,slider,Ios,Swift,Slider,我确信它很简单,但我不明白,这个函数可以很好地显示滑块的值(销售价格),但是我需要在下面的按钮方法中再次访问它,但不能传递销售价格值 class FirstViewController: UIViewController { var salesPrice: Int? @IBOutlet weak var salesPriceLabel: UILabel! @IBAction func salesPriceSlider(sender: UISlider) { sal
class FirstViewController: UIViewController {
var salesPrice: Int?
@IBOutlet weak var salesPriceLabel: UILabel!
@IBAction func salesPriceSlider(sender: UISlider) {
salesPrice = roundUp(Int(sender.value), divisor: 1000)
salesPriceLabel.text = "\(salesPrice!)"
}
@IBAction func testButton(sender: UIButton) {
totalClosingCosts.text = "\(salesPrice!)"
返回nil您只需将新的引用出口(IBOutlet)添加到滑块(将其连接到视图控制器) 访问就是用同样的方法
salesPriceLabel.text = salesPriceSlider.value.description
或
您应该为您的
UISlider
@IBOutlet weak var salesPriceSlider: UISlider!
//Don’t forget to connect it to your storyboard!
在此之后,您可以使用
salesPriceLabel.text = "\(salesPriceSlider.value)"
或者您当前使用的
salesPriceLabel.text = "\(roundUp(Int(salesPriceSlider.value), divisor: 1000))"
salesPriceLabel.text
是否更新?如果可能的话,你应该尽量避免使用
使用if let
语句检查salesPrice是否为零,如果按下按钮且滑块值未设置,则当前方法可能会导致崩溃。最后,到底什么会返回nil?@milo526我认为它是有效的,因为滑块的值最初是attributes inspector中的默认值,直到用户使用自定义值salesPrice
,它是一个Int?
,因此它是可选的,您没有初始化它,因此它的值为nil
如果滑动滑块,则将该值设置为saleprice
这将使您的testButton
能够读取saleprice
。答案中的方法确实直接从UISlider
中请求值,而不是使用自定义变量。如果您愿意(但不应该!)使用var-salesPrice:Int=salesPriceSlider.value
它也会起作用,那么您可以使用salesPrice
而不是salesPriceSlider.value
谢谢@milo526我想我要做的是初始化:salesPrice=Int?(200000)因此,滑块的默认值匹配。尽管您今天当然可以自由选择所需的内容,但我想建议您不要这样做。如果你能得到这个值,就去做吧。您可以安全地从@IBOutlet
获取值,为什么不使用它呢?如果要更改故事板中滑块的值(其初始值),会发生什么情况?当然,将其转换为Int?
不是一个好主意。为什么要将此值设置为nil?如果滑块被更改,它将始终具有一个值。如果您设置了初始值,则除非您进行了设置,否则无法将其设置为nil
。显然,您无法为文本字段指定数字!谢谢你@莱昂纳多萨维奥达布斯同时表示抱歉,所以米洛得到了更多细节=)
salesPriceLabel.text = "\(salesPriceSlider.value)"
salesPriceLabel.text = "\(roundUp(Int(salesPriceSlider.value), divisor: 1000))"