나는 프로토콜과 프로토콜 확장이 추상 클래스를 에뮬레이션하는 가장 좋은 방법이라는 것을 알고 있지만, 내가하고 싶은 것은 실제 추상 클래스가 필요하다고 생각한다.Swift의 추상 클래스
함께 작동하는 BaseCollectionViewCell
과 BaseCollectionViewSource
을 원합니다. 배열을 BaseCollectionViewSource
의 하위 클래스에 전달하고 재사용 식별자를 반환하는 메서드를 구현합니다. 셀은 BaseCollectionViewSource
에 의해 인스턴스화되고 콘크리트 컬렉션ViewCell에서 재정의되는 setData
메서드를 가질 수 있습니다.
abstract class WRBaseCollectionViewCell: UICollectionViewCell {
abstract func setData(_ data: AnyObject)
}
하지만 스위프트 (나는 생각한다) 이것을 모방 할 수 없습니다
은 내가 실제로하고 싶은 것은 이것이다. 프로토콜은 클래스에서 상속받을 수 없으며 동적 인 디스패치가 없기 때문에 모든 것을 재정의 할 수있는 아이디어를 얻지 못합니다.
누구나 어떻게 할 수 있습니까? 아마 공장? 나는 새로운 collectionView를 구현하기 위해 이것을 가능한 한 쉽게 만들고 싶다.
Swift에는 추상 클래스가 없습니다. IMO는 필요하지 않습니다. 범용 프로토콜과 프로토콜 (특히 * 프로토콜 확장 *)을 사용하면 신속하게 풍부한 도구 세트를 제공 할 수 있습니다. – vikingosegundo
@vikingosegundo 내 문제에 대한 구체적인 해결책이 있습니까? 나는 언어가 변경되도록 요구하지 않고 가능한 한 최선을 구현하고자합니다. 특정 예제로 인해 – vrwim
이 있습니다. 최근에 시작한 프로젝트, 컬렉션 및 테이블 뷰용 데이터 소스 프레임 워크 인 [TaCoPopulator] (https://github.com/vikingosegundo/TaCoPopulator)를 살펴볼 수 있습니다. – vikingosegundo