IOS 익스텐션/확장

정성윤·2023년 7월 17일
0

Swift 실습

목록 보기
7/17
post-thumbnail

IOS에서 익스텐션은 기존의 클래스, 구조체, 열거형, 프로토콜 등에 기능을 추가하는 방법입니다.

익스텐션은 기존 타입의 정의를 수정하지 않고도 새로운 기능을 추가하거나 기존 기능을 확장할 수 있습니다.

  1. 메서드 추가 : 익스텐션을 사용하여 기존 타입에 새로운 인스턴스 메서드나 타입 메서드를 추가할 수 있습니다.
  2. 계산된 프로퍼티 추가 : 익스텐션을 사용하여 기존 타입에 새로운 계산된 인스턴스 프로퍼티나 타입 프로퍼티를 추가할 수 있습니다.
  3. 초기화자 추가 : 익스텐션을 사용하여 기존 타입에 새로운 초기화자를 추가할 수 있습니다.
  4. 프로토콜 채택 : 익스텐션을 사용하여 기존 타입이 특정 프로토콜을 채택하도록 할 수 있습니다.

// 기존의 Int 타입에 isEven 프로퍼티를 추가하는 익스텐션
extension Int {
var isEven: Bool {
return self % 2 == 0
}

func squared() -> Int {
    return self * self
} } 
let number = 5
print(number.isEven)  // false
print(number.squared())  // 25

* 실습 진행

익스텐션이라는 새 파일을 만듭니다.

UIViewController의 기능을 확장하고 싶을 경우에 UIkit을 import 해줍니다.

익스텐션 안에 간단한 함수를 구현했습니다.

원래대로 다른 파일에 있는 함수를 가져오기 위해서는 fileprivate를 해줘야하지만, 익스텐션을 했기 때문에 바로 함수로 사용가능합니다.

참고(출처) : 개발하는 정대리

profile
이유있는 스위프트 개발자

1개의 댓글

comment-user-thumbnail
2023년 7월 17일

저도 개발자인데 같이 교류 많이 해봐요 ㅎㅎ! 서로 화이팅합시다!

답글 달기