var DrawArc = DrawCircleSegment()
Этот код создает экземпляр / объект типа DrawCircleSegment
Так что DrawCircleSegment
- это резак печенья, drawArc
(примечание ниже по поводу именования переменных Swift) будет куки-файлом.
Таким образом, вызов DrawArc(r: CGFloat(50.0 * i), center_x: 100.0, center_y: 100, arc_start: 0, arc_end: 90, arc_width: 30)
неверен, поскольку вы пытаетесь инициализировать значение из значения, а не из типа.
Измените
DrawArc(r: CGFloat(50.0 * i), center_x: 100.0, center_y: 100, arc_start: 0, arc_end: 90, arc_width: 30)
на
DrawCircleSegment(r: CGFloat(50.0 * i), center_x: 100.0, center_y: 100, arc_start: 0, arc_end: 90, arc_width: 30)
Если вы хотите использовать псевдоним, чтобы дать ему более короткое имя, вы можете сделать это:
typealias DrawArc = DrawCircleSegment
ТОГДА вы можете DrawArc инициализировать его.
Sidenote:
В Swift мы используем стиль lowerCamelCase для имен переменных и используем только UpperCamelCase для типов. Вы должны оформить заказ Руководство по стилю Swift