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))"