Delegate Pattern

Delegate Pattern이란?

swift에서는 interface를 protocol이라고 한다.

protocol TableViewDelegate {
    func execute() {
        print("foo!!")
    }
}
class Delegate2: TableViewDelegate { // delegate protocol을 상속받는다.
    func execute() {
        print("bar!!!")
    }
}
class TableView {
    var delegate: TableViewDelegate? // protocol을 멤버번수로 받는다.
    func executedelegate() {
        delegate?.execute() // delegate?가 nil이 아니면 받은 delegate의 메서드를 실행한다.
    }
}

let tableView = TableView()
tableView.delegate = Delegate2() // print("bar!!!")
tableView.executedelegate() // print("foo!!")

Choi Hyowon

열심히 공부 중 입니다.