Swift Protocol에 대한 간단한 정리
Swift
의 기본 언어 규범에 대한 자신의 이해가 모호하기 때문에 (자바 언어 규범 w 의뢰)protocol
의 복습부터 시작한다.protocol
는 아마도 Java
가 말한 것일 것이다interface
.Protocol 설치
MyProtocol.swift
protocol MyProtocol{
func protocolFunction01()
func protocolFunction02()
}
Class 설치
이어 계승
protocol
의class
를 만들어 보았다.여기서 실시
protocol
된class
에서 고의로 방법을 하나 빠뜨려 보았다.물론
protocol
에서 선언한 모든 방법을 정의하지 않으면 오류가 발생할 수 있다.그래서 기본적으로 모든 방법이 선언되었다.
MySuper.swift
class MySuper:MyProtocol{
func protocolFunction01() {
}
func protocolFunction02() {
}
}
물론 잘못은 사라진다.Protocol 초기화 선언
이어
init
에서 초기화기protocol
를 정의해 봤다.여기에는 특별한 의미가 없지만
String
를 매개 변수로 설정해 보세요.MyProtocol.swift
protocol MyProtocol{
init(str:String)
func protocolFunction01()
func protocolFunction02()
}
클래스MySuper
에서 없으므로init(str:String)
당연히 오류가 발생할 수 있습니다.따라서
protocol
에서 정의한 init(str:String)
를 클래스로 정의한다.하지만 다른 오류가 발생했다.
Initializer requirement 'I' can only be satisfied by a 'required' initializer in non-final class 'X'
required
의 이니셜이 아니면 안 될 것 같아요.그래서
required
수식자를 더해 보세요.주안점
여기에는
protocol
가 발표한 이니셜init
에 액세서리required
가 필요하다는 것이 중점이다.
Reference
이 문제에 관하여(Swift Protocol에 대한 간단한 정리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tajihiro/items/fdbf83209b8eaa0e791b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)