class A: C {}
struct B: C {}
protocol C {
/**
- 타입으로의 프로토콜 - Protocol Delegation
- self에 특정 프로토콜을 연결시켜줬기 때문에,
self 자체는 해당 프로토콜의 타입을 이어받음
*/
}
class D {
// 인스턴스에 프로토콜 타입을 접목해줌
var a:C = A()
func _i() {
// 다른 클래스의 인스턴스에도
// 동일 프로토콜을 적용받은 다른 클래스를 할당할 수 있음
a = D()
}
}class SomeView: UIViewController, UITableViewDelegate {
@IBOutlet weak var tableView: UITableView!
@override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
}
}