본문 바로가기

Swift

Swift 정리 : extension(익스텐션)

class, struct, enum, protocol 새로운 기능을 추가

extension 하위 클래스를 생성하거나 참조하지 않고 기존 클래스에 메서드,생성자(initializer), 계산 프로퍼티 등의 기능을 추가하기 위하여 사용

클래스(구조체, 열거형, protocol) 다음과 같은 형태로 확장(익스텐션)

extension 기존타입이름 {

  // 새로운 기능

}

extension Double {

  var squared : Double { //기존 Double 구조체에 계산 프로퍼티 추가

    return self + 1.0

  }

}

let myValue: Double = 3.0

print(myValue.squared)  //4.0

print(2.0.squared)      //3.0