我试图使用类型为Timer的类在swift Playgrounds中延迟延迟重复while子句,但出现错误:
需要声明!
我该怎么办?
class LedAnimation: Timer {
while ledAnimationVarible < 16 {
allCircles[ledAnimationVarible].color = .blue
ledAnimationVarible += 1
}
}
答案 0 :(得分:2)
这不是有效的课程。您在类中的代码应在函数中定义
class LedAnimation: Timer {
func animateLed(ledAnimationVarible: Int) {
while ledAnimationVarible < 16 {
allCircles[ledAnimationVarible].color = .blue
ledAnimationVarible += 1
}
}
}
答案 1 :(得分:1)
问题是您不能只在函数外部编写可执行代码。您需要将while
循环包含在函数中。
class LedAnimation {
func animateLeds(){
while ledAnimationVarible < 16 {
allCircles[ledAnimationVarible].color = .blue
ledAnimationVarible += 1
}
}
}
但是,您也不应该像documentation明确声明的那样Timer
的子类。
答案 2 :(得分:1)
由于while
语句不能位于类主体中,因此您收到以下错误。
将其包装到function
class LedAnimation: Timer {
func foo() {
while ledAnimationVarible < 16 {
allCircles[ledAnimationVarible].color = .blue
ledAnimationVarible += 1
}
}
}
答案 3 :(得分:1)
您的可执行语句未放置在任何可执行范围内。您需要一个函数来包装可执行语句。
class LedAnimation: Timer {
func doSomething()
{
while ledAnimationVarible < 16 {
allCircles[ledAnimationVarible].color = .blue
ledAnimationVarible += 1
}
}
}