5. 속성 요구사항
protocol SomeProtocol {
var mustBeSettable: Int { get set }
var doesNotNeedToBeSettable: Int { get }
}
protocol AnotherProtocol {
class var someTypeProperty: Int { get set }
}
18. 프로토콜 일치 확인하기
is : 인스턴스가 프로토콜과 일치하면
true, 아니면 false
as : 강제로 다운캐스팅하고 실패하면 런
타임 오류가 난다
as? : 인스턴스가 프로토콜과 일치하지
않으면 nil 이 된다
@objc : 일치확인을 위해 protocol 앞에
꼭 써줘야 한다
19. 프로토콜 선택적 요구사항
optional 키워드를 사용하여 선택적으로
요구사항을 정의할 수 있다 .
@objc protocol CounterDataSource {
optional func
incrementForCount(count: Int) -> Int
optional var fixedIncrement: Int
{ get }
}