본문 바로가기

iOS/Swift

iOS(Swift) - String.subSequence(=SubString)은 무엇인가?

이전 게시글에서 splitcomponents의 차이에 대해서 알아보았는데요. split의 return type에 대해서 좀 더 알아보려고 합니다.

 

components의 return type은 [String]이지만 split의 return type은 [String.SubSequence]입니다. 

 

String.SubSequence

Apple 공식 문서에 따르면 String.SubSequenceSubString의 별명으로 지정되어 있습니다.

별명을 지정하는 typealias는 다음 게시글에 따로 정리하겠습니다.

 

 

Substring

  • split(), prefix()등 과 같은 method를 통해 원본 문자열에서 가져온 부분 문자열 타입입니다.
  • 부분 문자열(Substring)은 원본 문자열(String)의 메모리를 참조하고 있습니다.
  • 원본 문자열은 부분 문자열이 사용되는 한 메모리가 해제되지 않습니다. 따라서 장기 저장에 부적합하기에 String으로 타입 변환 후 저장하는것이 메모리 관리 측면에서 유리합니다.
let tests: [String] = "A B C".split(separator: " ").map(String.init)

let text: String = String("A B C".split(separator: " ")[0])

 

'iOS > Swift' 카테고리의 다른 글

iOS(Swift) - Class와 Struct의 차이 5가지  (0) 2023.11.16
iOS(Swift) - split VS components  (0) 2022.07.07