Adding Methods

작성일

Adding Methods

  • 메서드는 클래스와 구조체 둘다 자유롭게 확장이 가능하다.
extension Double {
  func toFahrenheit() -> Double {
    return self * 9 / 5 + 32
  }
  
  func toCelsius() -> Double {
    return (self - 32) * 5 /9
  }

  static func converToFahrenheit(from celsius: Double) ->
    Double {
      return celsius.toFahrenheit()
    }
}

let c = 30.0
c.toFahrenheit() // 86
Double.converToFahrenheit(from: 30.0) //86

이렇게 Double 구조체를 확장해서 섭씨 온도로 바꿀 수 있다.

extension Date {
  func toString(format: String = "yyyyMMdd") -> String {
    let privateFormatter = DateFormatter()
    privateFormatter.dateFormat = format
    return privateFormatter.string(from: self)
  }
}

let today = Date() 
today.toString() //20220705
todat.toString(format: "MM/dd/yyy") //07/05/2022