Я использую следующий код для создания пути из массива CGPoint
().
public func creatPath (for points:[CGPoint]) {
let path = CGMutablePath()
let startPoint = points.first
CGPathMoveToPoint( path, CGAffineTransform.identity, startPoint.x, startPoint.y)
var index = 0
for point in points {
if index == 0 { continue }
CGPathAddLineToPoint(path, nil, points.x, points.y)
index += 1
}
path.closeSubpath()
}
Но это всегда заканчивается тем, что мне показывают следующую ошибку:
nil несовместим с ожидаемым типом аргумента UnsafePointer
<CGAffineTransForm>
Я также пытался использовать CGAffineTransform.identity
Затем он показывает:
Не удается преобразовать значение типа CGAffineTransform в ожидаемый тип аргумента UnsafePointer
<CGAffineTransform>
.
Я не уверен, что еще мы можем здесь использовать. Я использую бета-версию Xcode8 6. Swift 3.0.
Изменить: Когда я пытаюсь: -
var transform = CGAffineTransform.identity as CGAffineTransform;
CGPathMoveToPoint( path, &transform, startPoint.x, startPoint.y)
Это показывает:
'CGPathMoveToPoint' недоступен: используйте move(to:transform:)
И при попытке:
CGPathMoveToPoint( path, NSNull(), startPoint.x, startPoint.y)
Ошибка: невозможно преобразовать значение типа NSNull в ожидаемый тип аргумента UnsafePointer.
CGAffineTransform transform = CGAffineTransformIdentity; CGPathAddLineToPoint(path, &transform, point.x, point.y);
с материалом &var. Если вы хотите передатьNULL
, по-видимому, вы можете сделать так: stackoverflow.com/a/27169902/1801544 (я не не говорю на Swift, я просто указываю на возможные решения/подсказки). - person Larme   schedule 05.09.2016