편의를 위해 약간의 실험에서 일부 응용 프로그램 특정 기능을 제공하도록 Array를 확장하고 싶습니다. 이 특정 확장은 모범 사례는 아니지만 신속한 문제를 해결하는 데 궁금합니다.범주/확장명의 필터 배열
는 사용자 정의 클래스 섹션을 감안할 때, (부분적으로 확장 클로저) 내 확장입니다 : 내가 얻을
extension Array {
func onlyFullSection() -> Array<Section> {
return self.filter {
(a:Section) -> Bool in
return a.isFullSection()
}
}
}
오류 : "T"는 "제"의 하위 유형이 아닙니다.
모든 종류의 소스 (유형 변경, 캐스팅 등 ...)로 고쳐 내려했지만 비슷한 오류가 발생했습니다.
이 다른 변형 :
extension Array {
func onlyFullSection() -> Array<Section> {
return (self as Array<Section>).filter {
(a:Section) -> Bool in
return a.isFullSection()
} as Array<Section>
}
예외 : Cannot convert the expression's type 'Array<Section>' to type 'Array<Section>'
내가 잘못 뭐하는 거지에 대한 어떤 단서? 감사!