Swift 흐름 제어 구문
꼼꼼한 재은씨의 Swift3 기본편을 보며 Swift 문법 내용을 정리한 내용입니다.
흐름 제어 구문
- 반복문 (Loop Statements
- 조건문 (Conditional Statements)
- 제어 전달문 (Control Transfer Statements)
반복문
for ~ in 구문
1 | for <루프 상수> in <순회 대상> { |
- 순회 대상으로 사용할 수 있는 타입
- 배열
- 딕셔너리
- 집합
- 범위 데이터
- 문자열
- 순회 대상의 값들이 루프 상수에 저장되어 쓰인다.
1 | var chars = "swift" |
루프 상수의 생략
1 | let size = 5 |
순회 시 대상 아이템이 필요하지 않은 경우에 생략 가능하다.
중첩을 활용한 구구단 코드
1 | for i in 1..<10 { |
while 구문
- 실행 횟수가 명확하지 않을 때
- 직접 실행해보기 전까지는 실행 횟수를 결코 알 수 없을 때
- 실행 횟수를 기반으로 할 수 없는 조건일 때
1 | while <조건식> { |
repeat ~ while 구문
다른 언어의 do ~ while 과 같은 구문이다.
1 | repeat { |
조건문
- if
- guard
- switch
if 구문
다른 언어에서의 if와 동일하게 사용된다.
1 | if <조건식> { |
- if ~ else
- if 중첩
- if ~ else if ~ else
guard 구문
표현식의 결과가 참인지 거짓인지에 따라 구문의 실행 여부를 결정한다.
if와의 차이점은 참일 때의 실행 구문이 없다는 것이다.
결국 false일 때 블록 안쪽을 실행
한다.
1 | guard <조건식 또는 표현식> else { |
#available 구문
1 | if #available(<플랫폼이름 버전>, <...>, <*>) { |
호출 연산자()를 통해 플랫폼 이름과 버전 등의 인자값을 입력할 수 있다.
API 버전에 따라 처리하는 구문을 구별해준다.
사용할 만한 플랫폼
- 아이폰, 아이패드 등 터치 기반 스마트 기기에 사용되는 iOS
- 맥 컴퓨터에 사용되는 OSX
- 애플 시계에 사용되는 watchOS
- 애플 TV에 사용되는 tvOS
1 | if #available (iOS 9, OSX 10.10, watchOS 1, *) { |
switch 구문
1 | switch <비교 대상> { |
제어 전달문
한 부분에서 다른 부분으로 제어 흐름을 전달하여 코드 실행 순서를 변경해준다.
break
, continue
, fallthrough
, return
등이 있다.
You need to set
install_url
to use ShareThis. Please set it in _config.yml
.