728x90
Swift 서브스크립트 (Subscripts in Swift)
Swift 서브스크립트는 클래스, 구조체, 열거형에 속한 컬렉션의 요소에 접근하고 변경하는 데 사용되는 강력한 기능입니다. 서브스크립트를 사용하면 배열, 딕셔너리, 문자열과 같은 데이터 구조를 더욱 효율적이고 직관적으로 다룰 수 있습니다.
1. 서브스크립트 기본 구조
subscript(index: <인덱스 타입>) -> <반환값 타입> {
get {
// 요소 getter 코드
}
set(newValue: <새로운 값 타입>) {
// 요소 setter 코드
}
}
- subscript: 서브스크립트를 선언하는 키워드입니다.
- <인덱스 타입>: 서브스크립트에 사용되는 인덱스의 타입입니다.
- ->: 서브스크립트의 반환값 타입입니다.
- get: 요소를 읽을 때 실행되는 getter 코드 블록입니다.
- set: 요소를 변경할 때 실행되는 setter 코드 블록입니다.
예시:
struct Person {
var name: String
var age: Int
}
var people = [Person(name: "지민", age: 30), Person(name: "뷔", age: 27)]
print(people[0].name) // "지민"
people[0].age = 29
print(people[0].age) // 29
2. 단일 인덱스 서브스크립트
- 가장 일반적인 서브스크립트 유형입니다.
- 배열, 문자열과 같은 순차적 컬렉션에서 특정 위치의 요소에 접근하거나 변경하는 데 사용됩니다.
예시:
var numbers = [1, 2, 3, 4, 5]
print(numbers[2]) // 3
numbers[1] = 10
print(numbers) // [1, 10, 3, 4, 5]
3. 범위 서브스크립트
- 서브스크립트를 사용하여 컬렉션의 여러 요소에 동시에 접근하거나 변경하는 데 사용됩니다.
- 범위 연산자(...)를 사용하여 범위를 지정합니다.
예시:
var numbers = [1, 2, 3, 4, 5]
print(numbers[2...4]) // [3, 4, 5]
numbers[2...4] = [100, 200]
print(numbers) // [1, 2, 100, 200, 5]
4. 키-값 서브스크립트
- 딕셔너리와 같은 연관 컬렉션에서 키를 사용하여 특정 값에 접근하거나 변경하는 데 사용됩니다.
예시:
var dictionary = ["name": "사랑", "age": 30]
print(dictionary["name"]!) // "사랑"
dictionary["age"] = 29
print(dictionary) // ["name": "사랑", "age": 29]
5. 서브스크립트 활용
- 서브스크립트를 사용하면 컬렉션의 요소에 더욱 효율적이고 직관적으로 접근하고 변경할 수 있습니다.
- 코드를 더욱 명확하고 간결하게 작성할 수 있습니다.
- 컬렉션 데이터를 다양한 방식으로 조작하는 데 유연성을 제공합니다.
6. 참고 자료
'개발' 카테고리의 다른 글
Swift 초기화 (Initialization) (0) | 2024.07.05 |
---|---|
Swift 상속 (Inheritance in Swift) (0) | 2024.07.05 |
Swfit 메서드 (Methods) (0) | 2024.07.05 |
Swift 프로퍼티 (Properties) (1) | 2024.07.05 |
Swift 구조체와 클래스 (Structures and Classes) (0) | 2024.07.05 |