iOS_Swift/문법 정리
Swift - Subscript(서브스크립트)
chozjjae
2022. 5. 21. 21:21
Swift의 Subscript 란?
클래스, 구조체, 열거형이 컬렉션 멤버에 접근하기 위한 문법이다.
특징
- 별도의 getter, setter를 구현하지 않아도 set하거나 get할 수 있다.
- *함수, *계산 프로퍼티와의 형태가 유사하다.
- 다양한 매개변수 타입을 사용하여 overload가 가능하다.
- 인스턴스 이름 뒤에 대괄호만으로 편리하게 사용 가능하다.
사용 예제 1
Int -> Int 형으로 받아오기
struct Num{
let num = [1,2,3,4,5] //구조체의 property가 Array형
subscript(i:Int) -> Int{
//매개변수는 첨자 자료형, 리턴형은 Int
return num[i]
}
}
var n = Num() //인스턴스 생성
print(n)
//Num(num: [1, 2, 3, 4, 5])
print(n.num)
//[1, 2, 3, 4, 5]
print(n[0],n[1],n[2])
//1 2 3
//각각의 배열의 값을 가져올때 subscript 사용
사용 예제 2
Int -> String 형으로 받아오기
class Man{
let month = ["4월", "1일", "10초"]
subscript(i:Int) -> String{
//값을 받아오기 위해 매개변수 첨자는 Int
//리턴형은 String 사용
return month[i]
}
}
var m = Man()
print(m.month[0]) //4월
print(m.month[1]) //1일
print(m.month[2]) //10초
인덕대학교 한성현 교수님의 강의를 참고하였습니다.
youtube - smile Han