728x90
Protocol 배우기 전
이름부터 무섭게 생겨서
움찔했지만 꼭 필요한 친구였다
오늘도 달려보자
Protocol
어원 그대로 규약이다 -> 실제 구현은 프로토콜이 채택된 곳에서 이행한다
DelegatePattern을 구현하기 위해 이용한다
특정 컨틀롱에서 발생하는 이벤트를 효율적으로 관리하기 위해 Delegate에게 위임하고, 실제 이벤트 발생시에 Delegate가 callBack method를 호출해준다
Optional Protocol
@objc
protocol viewPresentableProtocol {
var navigationTitleString: String {get set}
var backgroundColor: UIColor { get }
static var identifier: String { get }
func configureView()
@objc optional func configureLable()
@objc optional func configureTextField()
}
protocol 앞에 @objc 선언해주고 func 앞에도 @objc optional 선언
-> class에서만 사용 가능하다(@objc 특성을 사용하기 때문에)
Protocol Method
중괄호를 사용하지 않고 인스턴스 메서드와 타입 매서드 요구 가능
Protocol Property
protocol viewPresentableProtocol {
var navigationTitleString: String {get set}
var backgroundColor: UIColor { get }
static var identifier: String { get }
}
Property 요구 할때는 무조건 var로 선언 최소 구현 요청은 get이며 필요할 때 set 구현 요청을 한다
저장 프로퍼티 연산 프로퍼티 다 가능하다
'Tech > iOS' 카테고리의 다른 글
[iOS] Day 26 - Custom Font (0) | 2022.07.29 |
---|---|
[iOS]Day 26 - Notification (0) | 2022.07.29 |
[iOS] Day 25 - UIPickerView & WebView (0) | 2022.07.28 |
[iOS] Day 24 - Property Observer (0) | 2022.07.27 |
[iOS] Day 23 - Computed Property (0) | 2022.07.26 |