[Swift] Extension

ds-k.mo·2022년 4월 29일
0

Swift

목록 보기
15/22

익스텐션이 타입에 추가할 수 있는 기능

익스텐션을 이용해 클래스, 구조체, 열거형 혹은 프로토콜 타입에 기능을 추가할 수 있다.

  • 연산 타입 프로퍼티 / 연산 인스턴스 프로퍼티
  • 타입 메서드 / 인스턴스 메서드
  • 이니셜라이저
  • 서브스크립트
  • 중첩 타입
  • 특정 프로토콜을 준수할 수 있도록 기능 추가

익스텐션은 타입에 새 기능을 추가할 수 있지만 오버라이드는(override)는 할 수 없다.

코드 예시

extension Int {
    var isEven : Bool {
        return self % 2 == 0
    }
    var isOdd : Bool {
        return self % 2 == 1
    }
}

var number = 3
number.isEven // false
number.isOdd // true


extension String {
    func convertToInt () -> Int? {
        return Int(self)
    }
}

var string = "0"

string.convertToInt() // 0 (Int type)

0개의 댓글