iOS 복습(2)

유재우·2022년 1월 9일
0

Switch문

  • Swift에서 Switch문에 break는 생략된다.
  • Switch문에 있는 case문에서는 범위를 지정할수 있다.
  • case문에서 where문으로 부가적인 조건을 추가할 수 있다.
예)
var temp = 32
switch (temp)
{
    case 0...10 where temp % 2 == 0:
        print("춥다")
    case 11...20 where temp % 2 == 0:
        print("따뜻하다")
    case 21...30 where temp % 2 == 0:
        print("덥다")
    default:
        print("온도 측정 불가")
  • Swift는 일치하는 case문을 만나면 자동으로 빠져나온다.
    * 하지만 빠져나가지 않고 계속 아래로 내려가게 하려면 fallthrough문을 사용하면 된다
    예)
    var temp = 32
    switch (temp)
    {
       case 0...10 where temp % 2 == 0:
           print("춥다")
           fallthrough
       case 11...20 where temp % 2 == 0:
           print("따뜻하다")
           fallthrough
       case 21...30 where temp % 2 == 0:
           print("덥다")
           fallthrough
       default:
           print("온도 측정 불가")

함수

  • Swift에서의 함수형태
func 함수이름(외부 매개변수 내부 매개변수 : 자료형) -> 리턴형 {
    reutn 내부 매개변수
}
함수 호출시)
함수명(외부 매개변수:값)

외부 매개변수 생략 시 내부 매개변수명이 외부 매개변수 역할을 한다.

예) 
C, C++)
int add(int x, int y) {
    return(x+y);
}
add(10,20);
--------------------------------
Swift)
fun add(x: Int, y: Int) -> Int {
    return(x+y)
}
add(x:10, y: 10)
  • 외부 매개변수 생략 시 내부 매개변수명이 외부 매개변수 역할을 한다.
    외부 매개변수 생략 시
1)
fun add(x: Int, y: Int) -> Int {
    return(x+y)
}
add(x:10, y: 10)
// 외부 매개변수 생략하는 경우 호출할 때 내부 매개변수명을 사용
2)
fun add(_ x: Int, _ y: Int) -> Int {
    return(x+y)
}
add(10, 20)
// 외부 매개변수를 생략한다는 의미인 _를 사용하는 경우 함수 호출 시 매개변수 생략
3)
fun add(_ x: Int, two y: Int) -> Int {
    return(x+y)
}
add(10, two: 10)
// 첫 번째 외부 매개변수명만 생략하는 경우 함수 호출 시 첫 번째 매개변수만 생략

inout

  • call by reference하고싶은 매개변수의 자료형 앞에 inout을 사용한다.
  • call by reference하고싶은 변슈에 &을 붙여서 호출한다.
예)
var x = 5
func double(value: inout Int) -> Int {
    value += value
    return(value)
}
print(double(value : &x))    // 10

Closer 표현식

  • 독립적인 코드 블록이다.
일반적인 함수)
func hi(a: Int, b: Int) -> Int {
    return(a+b)
}
Closer 표현식)
let hi = { (a: Int, b: Int) -> Int in
    return(a+b)
}
  • in이 있으면 Closer 표현식이라고 생각하면 된다.
  • 클로저 표현식은 매개변수를 받거나, 값을 반환하도록 만들 수 있다.
  • 후행 클로저

    클로저가 함수의 마지막 매개변수 이름을 생략하고 소괄호 외부에 클로저를 구현한다.

15:00~22:03초 까지의 내용입니다.

profile
끝없이 탐구하는 iOS 개발자 유재우입니다!

0개의 댓글