서브스크립트
를 구현할 수 있다.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)