使用UISlider获取范围内的整数值

时间:2016-08-20 14:01:59

标签: ios primes uislider

我试图以最准确的方式解决这个问题。

我有UISlider,范围介于0 to 300之间(所有素数)。

在移动滑块的同时,如何使用UISlider获取此范围内每个素数的准确访问权限?有什么想法吗?

1 个答案:

答案 0 :(得分:3)

将前0-300个素数存储在数组中

糟糕的做法。 将slider min设置为0,max设置为300,current设置为0

移动滑块时检查数组中是否存在滑块编号,如果存在,请使用素数更新标签的文本

let primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293]

@IBOutlet weak var label: UILabel!
@IBAction func slider(sender: UISlider) {
    let sliderNumber = Int(sender.value)
    if primes.contains(sliderNumber) {
        label.text = "\(sliderNumber)"
    }
}

这样做的好方法。 将slider min设置为0,max设置为61,current设置为0。 第一个0-300中有62个素数。 移动滑块时,通过索引质数数组来更改标签文本。

let primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293]

@IBOutlet weak var label: UILabel!
@IBAction func slider(sender: UISlider) {
    let sliderNumber = Int(sender.value)
    label.text = String(primes[sliderNumber])
}

测试了第一个和第二个实现,第二个是很多更清晰的值转换。