다음 코드를 고려 인스턴스화 할 수없는 내가 프로토콜의 기능을하고 싶습니다,프로토콜 유형이
Ball(color: UIExtendedGrayColorSpace 1 1)
지금을, 즉 주어진 색상 배열을 사용하면 해당 색상의 항목 배열 (공, 또는 Color
에 부합하는 다른 유형)을 반환합니다.
extension Color {
func multipleColors(colors: [UIColor]) -> [Color] {
var coloredItems = [Color]()
for item in colors {
// What do I put here ???
}
return coloredItems
}
}
다음 :
let coloredBalls = ball.multipleColors(colors: [.red, .green, .blue])
대괄호 안에 무엇을 넣을지 알 수 없습니다.
'Color' cannot be constructed because it has no accessible initializers
내가 다음 프로토콜에 init 메소드를 추가하고, 오류가 변경 :
coloredItems.append(Color(color: item))
오류가 있습니다 : 예 (웃기), 나는 시도하는 경우
protocol type 'Color' cannot be instantiated
어떻게 해결할 수 있습니까?
당신은'컬러 프로토콜의 인스턴스를 만들기 위해 노력하고 있습니다. – shallowThought
그래서 어떤 생각을 어떻게 바꿀 수 있습니까? – Koen
'multipleColors' 함수의 출력 결과가 정확히 무엇인지 예상 할 수 없습니다. 여기서 해결하려는 실제 문제는 무엇입니까? – Hamish