Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Stream
- datetime
- controller
- setstate
- permission
- platformexception
- enum
- signout
- switch
- Camera
- snackbar
- Snapshot
- runTransaction
- borderRadius
- reference
- user
- divider
- Navigator
- globalkey
- changenotifierprovider
- Firebase
- swift 문법
- Swift
- provider
- multiprovider
- ListView.builder
- 문법
- changenotifier
- consumer
- transform
Archives
- Today
- Total
코딩하는 제리
[Swift] protocol 본문
- 클래스, 구조체, 열거형에 프로토콜을 채택 할 수 있음.
class 클래스명: 부모 클래스명, 프로토콜명 {}
class 클래스명: 부모 클래스명, 프로토콜명1, 프로토콜명2 {}
class 클래스명: 프로토콜명 {}
class 클래스명: 프로토콜명1, 프로토콜명2 {}
protocol 프로토콜명 {
프로퍼티명
메서드선언 // 메서드는 선언만.
}
protocol 프로토콜명: 다른프로토콜1, 다른프로토콜2 {
// 다중 상속 가능
}
protocol SomeProtocol {
var x: Int { get set } // 읽기/쓰기 가능
var y: Int { get } // 읽기 전용
static var tx: Int { get set }
static func typeMethod() // 메서드는 선언만.
func random() -> Double // 메서드는 선언만.
}
protocol Runnable {
var x: Int { get set }
func run()
}
class Man: Runnable { // 채택, adopt
var x: Int = 1 // 준수, conform
func run() { print("run method") } // 준수, conform
}
// class Man에 x, run() 정의가 없으면 에러 발생
// type 'Man' does not conform to protocol 'Runnable'
'iOS > SwiftUI' 카테고리의 다른 글
[Swift] Error Handling (Exeption Handling) (0) | 2022.01.12 |
---|---|
[Swift} 옵셔널 체이닝(Optional Chaining) (0) | 2022.01.12 |
[Swift] 접근 제어 (0) | 2022.01.12 |
[Swift] extension (0) | 2022.01.12 |
[Swift] 상속, super, override (0) | 2022.01.12 |
Comments