Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

브래의 슬기로운 코딩 생활

iOS프로그래밍 실무 5주차 정리 본문

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 


테이블 뷰와 관련된 클래스들