这是一个令我困扰的超级基本问题。Swift - 在另一个函数中使用来自UISlider IBAction的值
我有一个UIslider IBAction生成一个Double(var = rounded)。我想在viewDidLoad中使用这个double。但得到的错误 “使用未解决的标识符的 '四舍五入'”
@IBAction func sliderValueChanged(sender: UISlider) {
var currentValue = Double(sender.value)
var rounded = Double(round(100*currentValue)/100)
label.text = "\(rounded)"
}
override func viewDidLoad() {
super.viewDidLoad()
let fileURL = NSBundle.mainBundle().URLForResource("puppy", withExtension: "jpg")
let beginImage = CIImage(contentsOfURL: fileURL)
let filter = CIFilter(name: "CISepiaTone")
filter.setValue(beginImage, forKey: kCIInputImageKey)
filter.setValue(rounded, forKey: kCIInputIntensityKey)
let newImage = UIImage(CIImage: filter.outputImage)
self.imageView.image = newImage
}
filter.setValue(四舍五入,forKey:kCIInputIntensityKey)是我在哪里得到的错误。我想在这里使用slider函数中的'rounded'变量。
任何帮助在一个函数中使用一个变量在另一个函数将非常赞赏。我偶然遇到过这样的情况,但没有成功。所以一旦你们都在这里帮助我,它也应该解决我的其他问题。
由于
我认为你缺乏基本概念:i)圆角变量不是类变量,因此只能在定义它的函数中访问。 ii)即使它是一个类变量,在viewDidLoad中也不会使用该变量,因为在设置了round的值之前调用了该函数。 – Shoaib
感谢您的输入!实际上缺乏基本概念。但仍然在学习。所以我会最终得到它:-) - 你将如何修复我的代码,以实现我期待的结果? – Joe