Swift랑 친해지기/Swift문법정리
[Swift] extension (익스텐션)
데브킹덕
2022. 9. 21. 17:22
기존의 클래스 ,구조체, 열거형, 프로토콜 등 타입에 새로운 기능(프로퍼티, 메서드,이니셜라이져 등)을 추가
원본타입에 접근하지 못하는 타입도 확장해서 사용 가능
예제 1 )
구조체 Int 에서는 짝수와 홀수라는 기능을 제공하지 않음
원본 코드를 그대로 두고 내가 원하는 기능만 확장을 해봄
isEven과 isOdd 메서드를 사용할 수 있게 됨
예제2)
extension 확장자를 이용하여 ConvertToInt라는 메서드 추가해 문자열 "숫자"를 Int형 숫자로 변경할 수 있도록 선언
우리가 보통 TableView, CollectionView 등에 delegate와 DataSource를 Extension해주는 것은
ViewController를 확장해주는 행위임
class ViewController: UIViewController{
}
extension ViewController: UICollectionViewDelegate,UICollectionDataSoutce{
}