-
[Swift] Protocol 을 처음 부터 공부해보자Swift 2023. 5. 2. 00:57
1. protocol 의 extension 에서 구현된 함수는 구조체 혹은 클래스에서 override 할수 없다.
2. extension 에서는 변수를 가지고 있을수 없다 (이건 protocol 뿐만은 아님)
3. protocol 의 변수는 property wrapper 로 감쌀수 없다
import Foundation protocol Fly { var altitude: CGFloat { get set } func cry() } extension Fly { mutating func fly() { altitude += 1.0 } } struct Bird: Fly { var altitude: CGFloat = 0.0 func cry() { print("howl") } } var bird = Bird() print(bird.altitude) // 0.0 bird.fly() print(bird.altitude) // 1.0 bird.cry() // howl
'Swift' 카테고리의 다른 글
[Swift] Actor #2 - @MainActor (class 와 같이 사용하기) (0) 2023.05.06 [Swift] Actor (비동기 환경에서 Data Race 를 피해보자) - #1 (0) 2023.05.06 [Swift] 디버그 할때 유용한 기능들 (0) 2023.04.28 [Swift] URL로 다른 앱 열기 (0) 2023.04.25 [Swift] iOS15 버전에서만 발생하는 이슈 잡기 (0) 2023.04.22