В моем коде у меня есть функция, которая рисует aws строк на экране, используя следующий код:
func drawLine (pointArray:[[[Double]]]) -> NSBezierPath{
var path:NSBezierPath = NSBezierPath()
let color = NSColor(red:0.0, green: 1.0, blue:0.0, alpha: 1.0)
color.set()
for i in 0...(pointArray.count - 1){
path.move(to: NSPoint(x: pointArray[i][0][0], y: pointArray[i][0][1]))
path.line(to: NSPoint(x: pointArray[i][1][0], y: pointArray[i][1][1]))
path.lineWidth = 50.0
path.stroke()
}
}
Однако, когда я пытаюсь сбросить отображение, рисуя белый прямоугольник, используя:
func clear(){
NSColor.white.setFill()
bounds.fill()
}
строки все еще остаются. Я попытался обойти это, установив глобальную переменную для пути и изменив мою функцию так, чтобы она фактически возвращала путь, чтобы у меня был доступ к нему вне функции:
var path:NSBezierPath = NSBezierPath()
func drawLine (pointArray:[[[Double]]]) -> NSBezierPath{
let color = NSColor(red:0.0, green: 1.0, blue:0.0, alpha: 1.0)
color.set()
for i in 0...(pointArray.count - 1){
path.move(to: NSPoint(x: pointArray[i][0][0], y: pointArray[i][0][1]))
path.line(to: NSPoint(x: pointArray[i][1][0], y: pointArray[i][1][1]))
path.lineWidth = 50.0
path.stroke()
}
return path
}
, но я не могу найти способ перерисовать путь, чтобы избавиться от него.