프로토콜은 왜 쓰는가??
1. 불필요한 상속을 피하고 각기 다른 기능을 구현하고 싶을 때
2. 델리게이트 패턴을 사용하고싶을 때
Anyobject, class을 상속 시 클래스에서만 프로토콜을 사용 할 수 있게 된다.
좋은점
- ARC 메모리 관리 시스템은 클래스를 다루고 있을 때 쉽게 할당할 수 있습니다(객체의 참조 횟수 증가).
이러한 정보가 없으면 컴파일러는 구조체가 프로토콜을 따를 경우를 대비해 할당과 해제를 고려해야하므로 비용이 많이들 수 있습니다.
옵셔널 구현은 @objc를 프로토콜 앞에 붙여 준 후 @objc optional func funcName()
이런식으로 구현해준다.(프로퍼티도 가능)
델리게이트 패턴 구현 시 기억해야할 것
1. 채택쪽
프로토콜 채택, 메서드 구현, 대리자 지정
2. 구현쪽
프로토콜 구현받는 프로퍼티 생성 및 동작시킴
'개발 > 개발' 카테고리의 다른 글
Swift 모델에 파싱하기 (0) | 2021.12.03 |
---|---|
[iOS] Push Notification Error - InActive State (0) | 2021.11.10 |
RxSwift - Tap과 Action 으로 이벤트 처리 (0) | 2021.10.24 |
[Swift] - DiscardableResult (0) | 2021.10.17 |
[iOS] - iOS 의존성 주입(Dependency Injection) 알아보기 - 2 (0) | 2021.08.23 |