티스토리 뷰

iOS

protocol - swift / objective-c 차이

@서비 2022. 9. 5. 15:03

 

1. swift 에서는 optional 정의가 불가 하다.

사용하려면 아래와 같은 식으로 사용해야 한다.

@objc protocol CounterDataSource {
    @objc optional func someFunc()
}

 

2. swift 에서는 protocol의 확장(extension)이 도입되었다.

 

- 정의: 기존 클래스, 구조체, 열거형 타입에 새로운 Property, Method, Initializer 등을 추가하는 것으로,

원본 타입(소스 코드)에 접근하지 못하는 타입들도 확장해서 사용할 수 있다.

 

extension CGPoint {
    func printPoint() {
        print("x: \(self.x), y: \(self.y)")
    }
}


let point: CGPoint = .init(x: 10, y: 20)
point.printPoint()

 

extension은 내용이 방대해서 따로 다루는게 나을거 같다. 업데이트 하면 별도 하단 링크 생성 예정

 

'iOS' 카테고리의 다른 글

iOS, Access controls in Swift  (0) 2022.09.05
swift - extensions  (0) 2022.09.05
App Thinning, Bitcode  (0) 2022.09.03
앱 스토어 호환성 표시 (Mac M1 지원 여부)  (0) 2022.08.26
HIG(Human Interface Guideline)-Settings  (0) 2022.08.09
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
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
글 보관함