[Swift 문법] 서브스크립트

!·2022년 8월 21일
0

Swift 문법

목록 보기
24/27

서브 스크립트

  • 클래스, 구조체, 열거형에는 컬렉션, 리스트, 시퀸스 등 타입의 요소에 접근하는 단축 문법인 서브스크립트를 구현할 수 있다.
  • 한 타입에 여러 개의 서브스크립트를 구현할 수 있으며, 다른 타입을 인덱스로 갖는 여러 개의 서브스크립트를 중복 정의할 수 있다.

서브 스크립트 문법

subscript(index: Int) -> Int {
	get {
    	
    }
    
    set(newValue){
    
    }
}

-get 메소드 없이 단순히 값만 반환하도록 구현한다면 읽기전용 서브스크립트가 된다.


타입 서브 스크립트

  • 인스턴스 말고도 타입 자체에 서브스크립트를 정의할 수 있다.
  • static 키워드를 이용하면 가능하며, 클래스의 경우에는 class 키워드를 이용하여도 가능하다.
enum School: Int{
	case elementary = 1, middle, high, university
    
    static subscript(level: Int) -> School?{
    	return Self(rawValue: level)
        	// return School(rawValue: level)
   	}
}

let school: School? = School[2]
print(school)
profile
개발자 지망생

0개의 댓글