티스토리 뷰

Mobile/iOS

swift의 subscript

out of coding 2018. 4. 4. 22:49

subscript를 사용하면서 한번 정리를 해야지 해야지 하면서도 안했네요.

쉬운 예로 swift3 -> 4로 넘어오면서 String 의 substring이 subscript가 되었습니다.


그냥 편하게 이야기로 괄호를 사용하여 배열의 인덱스 접근하는거처럼 값을 넘겨주어서 값을 가져오는 방식입니다. 히힛?


그냥 배열에 어떤 인덱스를 넣어주는것도 subscript라고 생각하시면 편할것 같습니다.


subscript는 init처럼 클래스와 구조체에 미리 정의되어 있는 특수한 function인데요.

init과 마찬가지로 func를 붙이지 않고 사용을 하면 됩니다.


1
2
3
4
5
6
7
8
9
10
11
struct SubscriptExam {
    subscript(x: Int-> Int {
        get { return index * 10 }
        set { // 생략 }
    }
}
 
let sub = SubscriptExam()
let value = sub[10]
 
print("value = \(value)"
cs


위의 결과는 100으로 나오게 됩니다.


이해가 되시나요?


function으로 이름을 넣어서 만드는것보다 약간은 더 swift 스럽게 만들수 있습니다.


길게 치지 말고 간략하게 만들어 봅시다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함