循环为 NSBezierPath 绘制的多种颜色

Multiple colors drawn for NSBezierPath in cycle

我在 func draw(_ dirtyRect: NSRect) 方法中有以下代码,但是所有的线都是用相同的颜色绘制的,即使它应该是随机的。我读到它可能与 fps 有关,但有什么方法可以将它绘制成彩色吗? 感谢您的任何提示。

for y in 1...3 {
    for x in 1...20 {
        switch arc4random_uniform(5) {
            case 0:
                color = NSColor.red
            case 1:
                color = NSColor.purple
            case 2:
                color = NSColor.green
            case 3:
                color = NSColor.blue
            case 4:
                color = NSColor.yellow
            default:
                color = NSColor.yellow
            }
            point.move(to: NSPoint(x: x*10, y: y))
            point.line(to: NSPoint(x: x*10, y: y+100))
            color.setStroke()
            point.stroke()    
     }
}

最后我找到了解决方案或至少是解决方法 - 我声明了

   let point = NSBezierPath()

进入内部 "x" 循环,它按预期工作。不确定它是否是最有效和正确的解决方案,因此欢迎任何进一步的建议。