Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 이벤트캡처링
- 직장인인강
- 수강료0원챌린지
- 오공완
- 이벤트버블링
- hig
- Components
- MVMM
- stopPropagation
- 패캠챌린지
- HTML
- 연결리스트생성
- 연결리스트삽입
- eventcapturing
- swift
- ios
- 자료구조
- 실패율
- 환급챌린지
- 직장인자기계발
- 연결리스트삭제
- 사이드프로젝트10개기술스택으로구현하는풀스택서버리스프로젝트withReact
- 패스트캠퍼스
- 패캠인강후기
- JavaScript
- 코딩테스트
- 프로그래머스
- 패스트캠퍼스후기
- eventbubbling
- 스위프트
Archives
- Today
- Total
날쌘 개발자
components / split 본문
728x90
components가 궁금해 구글링해보았는데,
split이라는 친구와 쌍으로 문자열을 다룰 때 자주 쓰는 메소드라고 한다
먼저 split메소드의 예시부터 보겠다.
var s = "I am swift developer"
let sSplit = s.split(separator: " ")
print(sSplit) // ["I", "am", "swift", "developer"]
split메소드의 separator 매개변수로 값을 받고,
받은 값을 기준으로 문자열을 나눠 [Substring] 형태로 반환해준다.
여기서 중요한점은, 기준으로 하는 문자는 기준으로만 사용하고 제외한 채 반환한다는 점이다.
split메소드의 parameter는 separator뿐만 아니라
나눠주는 최대 횟수를 지정해주는 maxSplit,
나눠준 인스턴스가 비어있으면 제외시켜주는 omittingEmptySubsequence 도 존재한다.
다음은 components이다.
components메소드도 기능은 split메소드와 유사하지만, 몇가지 차이점이 있다.
일단 components메소드에는 매개변수가 seperator 하나만 존재하고,
반환형태는 [String] 형태이다.
var s = "I am swift developer"
let sCompo = s.components(seperatedBy: " ")
print(sCompo) // ["I", "am", "swift", "developer"]
이렇게 매개변수에 공백 하나만을 넣는다면, split과 결과값은 반환형태만 다를 뿐 유사하다.
유사한 기능을 가지고 있지만, 차이점을 몇개 추가해서 정리해 본다면
- 파라미터의 개수가 split은 3개, component는 1개
- 반환타입은 split - [Substring], component - [String]
- component는 Foundation프레임워크의 import가 필수지만, split은 필요없다고 한다.
- 성능면에서는 더 다양한 파라미터를 활용하는 split이 좋다고 한다.
아무튼 이 메소드를 응용하여 이런식으로도 유용하게 사용할 수 있다.
var s = "I am swift developer"
if s.components(separatedBy: "w").count == s.components(separatedBy: "p").count {
print("Same")
}
다음 블로그 내용을 참고
728x90
'ios > 기본문법' 카테고리의 다른 글
Protocols - (1) (0) | 2022.04.07 |
---|---|
MVC 에 대해 (0) | 2022.04.01 |
소문자 대문자 (0) | 2022.04.01 |
고차함수 (0) | 2022.03.01 |
스위프트 기본문법 (5) (0) | 2021.07.09 |