2-1/iOS프로그래밍 실무
iOS프로그래밍 실무 5주차 정리
김브래
2023. 4. 5. 18:28
프로토콜(protocol)과 Delegate
프로토콜(protocol)
- 특정 클래스와 관련없는 프로퍼티, 메서드 선언 집합
- 함수(메서드) 정의는 없음
- 기능이나 속성에 대한 설계도
- 클래스(구조체, 열거형)에서 채택(adopt)하여 메서드를 구현해야 함
스위프트 상속과 프로토콜 채택
class 자식:부모 ,(프로토콜) ... {
// 코드
}
- 부모 클래스는 하나만 가능하며 여러 개라면 나머지는 프로토콜
- 상속은 클래스만 가능하다. (단일상속)
protocol 정의
protocol 프로토콜명{
//프로퍼티명
//메서드 선언 - 메서드는 선언만 있음
}
protocol 프로토콜명 : 다른프로토콜, 다른프로토콜2{
// 프로토콜은 다중 상속도 가능
}
protocol 정의, 채택, 준수
protocol Runnable { //대리하고 싶은 함수 목록 작성
var x : Int {get set} //읽기와 쓰기 가능 프로퍼티,{get}은 읽기 전용
//property in protocol must have explicit { get } or { get set } specifier
func run() //메서드는 선언만 있음
}
class Man : Runnable { //채택, adopt
var x : Int = 1 //준수, conform
func run(){print("달린다~")} //준수, conform
}
테이블 뷰와 관련된 클래스들