【发布时间】:2017-06-28 21:25:00
【问题描述】:
返回并阅读我的应用程序的构建日志后,似乎存在一个奇怪的问题,即两个(相对)简单的函数都将编译时间分别增加了一分钟(分别为 58 和 53 秒)。这可以在下面的构建日志中看到:
这些函数在我的 CAAgeViewController 中,并且都引用了我的故事板中的 UISlider。他们确保最大和最小滑块彼此之间最多相差 1 年,并且任一功能都将标签设置为“18-24 年”或其他方面。它们如下:
@IBAction func minAgeChanged(_ sender: UISlider) {
if round(minAgeSlider.value / 1) < round(maxAgeSlider.value / 1) - 1 {
minAgeSlider.value = round(minAgeSlider.value / 1)
ageLabel.text = String(Int(round(minAgeSlider.value / 1))) + "-" + String(Int(round(maxAgeSlider.value / 1))) + " Years"
} else {
minAgeSlider.value = round(maxAgeSlider.value / 1) - 1
ageLabel.text = String(Int(round(minAgeSlider.value / 1))) + "-" + String(Int(round(maxAgeSlider.value / 1))) + " Years"
}
}
@IBAction func maxAgeChanged(_ sender: UISlider) {
if round(maxAgeSlider.value / 1) > round(minAgeSlider.value / 1) + 1 {
maxAgeSlider.value = round(maxAgeSlider.value / 1)
ageLabel.text = String(Int(round(minAgeSlider.value / 1))) + "-" + String(Int(round(maxAgeSlider.value / 1))) + " Years"
} else {
maxAgeSlider.value = round(minAgeSlider.value / 1) + 1
ageLabel.text = String(Int(round(minAgeSlider.value / 1))) + "-" + String(Int(round(maxAgeSlider.value / 1))) + " Years"
}
}
我不确定这里到底出了什么问题。任何帮助表示赞赏!
【问题讨论】:
-
这不可能是减速的原因,但你到底为什么要反复拨打
round(slider.value / 1)?当我们讨论这个主题时,/ 1在它们中的意义何在?这里发生了很多不必要的事情。 -
你有同样复杂的代码行复制粘贴4次。为什么不创建一个函数?