강의 - www.fastcampus.co.kr/dev_online_iosapp
깃허브 - github.com/FreeDeveloper97/iOS-Study-FastCompus
04. 스위프트 FlowControl
" while "
조건 → 코드수행 순으로 진행
/* 반복문 while */
/* 조건 → 코드수행 */
var i = 10
print("--- while")
while i < 10 {
print(i)
if i == 5 {
break
}
i += 1
}
" repeat "
코드수행 → 조건 순으로 진행
/* 반복문 repeat */
/* 코드수행 → 조건 */
print("--- repeat")
i = 10
repeat {
print(i)
i += 1
} while i < 10
" for "
포함여부에 따라 두가지 for문 형식
/* 반복문 for loop */
let closedRange = 0...10 //0 ~ 10 : 11가지
let halfClosedRange = 0..<10 //0 ~ 9 : 10가지
var sum = 0
for i in closedRange {
print("--> \(i)")
sum += i
}
print("--> total sum: \(sum)")
sum = 0
for i in halfClosedRange {
print("--> \(i)")
sum += i
}
print("--> total sum: \(sum)")
where 문을 사용하여 범위축소 가능
for i in closedRange where i%2 == 0 {
print("--> 짝수: \(i)")
}
_ 를 이용한 for문
let name = "Jason"
for _ in closedRange {
print("--> name: \(name)")
}
continue를 이용한 for문
for i in closedRange {
if i == 3 {
continue
}
print("--> \(i)")
}
2중 for문
for i in closedRange {
for j in closedRange {
print("gugu -> \(i) * \(j) = \(i*j)")
}
}
" sin "
sin 함수 및 값을 구할 수 있다
import Foundation
/* 사인 그래프 sin */
/* import Foundation 필요 */
var sinValue: CGFloat = 0
for i in closedRange {
sinValue = sin(CGFloat.pi/4 * CGFloat(i))
}
" switch "
일반적인 case
/* switch */
/* 해당되는 케이스가 있는경우 실행 후 switch를 종료한다 */
var num = 10
switch num {
case 0:
print("--> 0 입니다.")
case 10:
print("--> 10 입니다. ")
default:
print("--> 나머지 입니다. ")
}
let pet = "bird"
switch pet {
case "dog", "cat", "bird":
print("--> 집동물이네요?")
default:
print("--> 잘 모르겠습니다")
}
... 사용한 case
/* switch */
/* 해당되는 케이스가 있는경우 실행 후 switch를 종료한다 */
var num = 9
switch num {
case 0:
print("--> 0 입니다.")
case 0...10:
print("--> 0 10 사이 입니다. ")
case 10:
print("--> 10 입니다. ")
default:
print("--> 나머지 입니다. ")
}
_ where 사용한 case
num = 20
switch num {
case _ where num%2 == 0:
print("--> 짝수")
default:
print("--> 홀수")
}
Tuple 사용한 case
let coordinate = (x: 4, y: 4)
switch coordinate {
case (0, 0):
print("--> 원점 이네요")
case (let x, 0):
print("--> x축 이네요, x:\(x)")
case (0, _):
print("--> y축 이네요")
case (let x, let y) where x == y:
print("--> x랑 y랑 같음 x,y = \(x),\(y)")
case (let x, let y):
print("--> 좌표 어딘가 x,y = \(x),\(y)")
}
'iOS 개발자 > swift 기초' 카테고리의 다른 글
스위프트 기초6 (structure, method, property, protocol, mutating, extension) (0) | 2021.02.19 |
---|---|
스위프트 기초5 (collection, closure, first class type) (0) | 2021.02.15 |
스위프트 기초4 (collection, array, dictionary, set) (0) | 2021.02.15 |
스위프트 기초3 (function, parameter, overload, optional, binding, coalescing) (0) | 2021.02.13 |
스위프트 기초1 (var, let, if, else, comment, tuple, scope, 3항연산자) (0) | 2021.02.09 |