我创建的列表中包含的项不超过8个,现在我用标准的for循环“针对列表中的项目:”遍历该项目:我想知道是否有一种方法可以准确地检查所有元素同时?我看过一些有关使用zip同时遍历2个列表的帖子,这可能会有所帮助。
如果没有办法同时遍历一个list元素,我想我需要将一个单独的列表拆分为4个单独的列表,然后使用zip遍历2个,并在一个单独的线程上同时进行另外2个,这似乎但这可能是一个笨拙的修复程序。
任何帮助,将不胜感激。
编辑 抱歉,我不清楚
apples = ['green', 'green', 'green', 'red']
Run Code Online (Sandbox Code Playgroud)
现在,我使用for循环遍历每个元素,
for apple in apples:
checkAppleColour(apple)
#Do some more stuff depending on colour....
Run Code Online (Sandbox Code Playgroud)
现在,它一个接一个地循环遍历苹果中的每个元素,我想做的是在每毫秒精确计数的同时,对每个项目进行一次颜色检查(使用的示例代码,但原理是对于我要达到的目标也是如此)。
在这里,性能是关键,我不介意是否必须使用它的线程,但是我需要最大的速度/效率来检查每个元素,我的猜测是并行性是做到这一点的方式,我只是不太确定该怎么做。
如何更改 NSTimer 上的时间间隔?
var difficulty: Double = 1.0
override func viewDidLoad() {
super.viewDidLoad()
_ = NSTimer.scheduledTimerWithTimeInterval(difficulty, target: self, selector: #selector(hideAllBtns), userInfo: nil, repeats: true)
}
Run Code Online (Sandbox Code Playgroud)
我运行每次从 hideallbuttons 调用的 switch 语句,然后更新难度。
func getDifficulty (score : Double) -> Double {
switch score {
case 0...100: return(1.0)
case 100...200: return (0.8)
case 200...300: return (0.5)
case 300...400: return (0.2)
default: return (1.0)
}
}
Run Code Online (Sandbox Code Playgroud)
然而 NSTimer 继续在 1.0s 触发我认为它在第一次运行时创建一个副本并坚持该值,我试图在计时器调用中创建一个变量,但这不起作用。
有没有一种简单的方法可以动态调整计时器触发的速率?
这只是一个练习项目,因为我仍在学习,所以我知道可能有更好的方法来构建我正在尝试做的事情。我认为动态调整计时器对将来的使用很有用。