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
- switch
- reference
- Stream
- consumer
- borderRadius
- changenotifier
- swift 문법
- datetime
- snackbar
- setstate
- enum
- ListView.builder
- Camera
- 문법
- changenotifierprovider
- user
- permission
- Snapshot
- globalkey
- platformexception
- Firebase
- runTransaction
- provider
- multiprovider
- Navigator
- transform
- controller
- divider
- signout
- Swift
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