Несколько цветов, нарисованных для NSBezierPath в цикле
У меня есть следующий код в методе 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()
}
}
1 ответ
Решение
Наконец я нашел решение или хотя бы обходной путь - я поставил декларацию
let point = NSBezierPath()
во внутренний цикл "х", и он работает как ожидалось. Не уверен, что это наиболее эффективное и правильное решение, поэтому любые дальнейшие предложения приветствуются.