본문 바로가기

개발

swift 서브 스크립트 (Subscripts)

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