Swift 정리 - String and Characters

김세영·2021년 12월 18일
0

Swift Doc 정리

목록 보기
2/17
post-thumbnail

StringFoundationNSString이 브릿지된 타입

String: Value Type

Stringstruct로 정의되어 있기 때문에, 값 타입으로 사용된다.

Character

for-in loop을 사용해 String의 개별 문자 접근 가능

for char in "Hello!" { } // char = "H", "e", "l", "l", "o", "!"

문자 배열을 이용해 문자열 생성 가능

let chars: [Character] = ["H", "e", "l", "l", "o", "!"]
let string = String(chars) // string : "Hello!"
  • startIndex, endIndex
    해당 문자열의 첫 번째 인덱스와 마지막 인덱스

  • index(before:), index(after:)
    인자로 주어지는 인덱스의 전 / 후 인덱스

  • index(_:offsetBy:)
    첫 번째 인자로 주어진 인덱스에서 두 번째 인자로 주어진 offset만큼의 인덱스 반환

  • indices
    문자열의 개별 문자 접근

  let hello = "Hello!"
  for index in hello.indices { 
      print("\(hello[index]) ", terminator: "")
  }
  // H e l l o !

위 메서드들은 Collection 프로토콜을 따르는 Array, Dictionary, Set에서도 사용 가능

  • insert(:at:), insert(contentsOf:at:)
    두 번째 인자로 주어지는 인덱스에 첫 번째 인자로 주어지는 문자 혹은 문자열을 삽입

  • remove(at:), removeSubrange(:)
    인자로 주어지는 인덱스나 범위에 있는 문자들을 삭제

위 메서드들은 RangeReplaceableCollection 프로토콜을 따르는 Array, Dictionary, Set에서도 사용 가능

SubString

부분 문자열으로, 원본 String을 참조

  • 원본 문자열이 필요 없는데 SubString을 계속 사용하면, 원본 문자열까지 메모리에 계속 남아있게 됨
    따라서 String 인스턴스로 바꾸어 사용하면 메모리 관리에 효율적

profile
초보 iOS 개발자입니다ㅏ

0개의 댓글