패스트캠퍼스) ios 개발 챌린지

[패스트캠퍼스 수강 후기] IOS개발강의 100% 환급 챌린지 11회차 미션

student513 2020. 11. 12. 11:55

이제까지 배운 내용들

오늘 배운 내용은 scope와 flow control

scope의 경우는 저번 시간에 배운 local, instance 변수와 비슷한 내용이다.

어떤 변수나 메소드가 적용될 수 있는 범위를 말한다.

 

var hours = 50
let payPerHour = 10000
var salary = 0

if hours > 40 {
    let extraHours = hours - 40
    salary += extraHours * payPerHour * 2
    hours -= extraHours
}

salary += hours * payPerHour

예를 들어 해당 코드에서 if구문 내의 extraHours는 if구문 바깥에서 참조할 수 없다.

보통 { } 중괄호를 기준으로 구분된다. 

{ } 바깥의 hours, payPerHour, salary 들은 { } 내에서도 참조가 가능하다.

 

if condition {
	let num = 0 
}

print(num)

이런 식으로 코드를 실행하면 에러가 발생하게 되는 것이다.

 

두 번째로 배운 flow control은 직역하면 흐름 제어가 되겠다.

보통 코드는 위에서 아래로 한줄씩 차례대로 실행된다. 그런데 flow control을 하는 코드들은

이런 순서를 인위적으로 조작한다. 

위에서 언급한 if조건문도 flow control에 해당한다.

if condition {
	이거
} else {
	아니면 이거
}

만약 주어진 condition이 거짓이라면 if구문을 건너뛰고 else를 실행하게 된다.

이건 순서대로 실행하는 상황이 아니므로 flow control이다

 

다른 종류의 flow control에는 반복문이 있다.

var i = 0
while i < 10 {
    print(i)
    i += 1
}

//print("--- While")
var i = 10
while i < 10 {
    print(i)
//    if i == 5 {
//        break
//    }
    i += 1
}


//print("--- Repeat")
i = 10
repeat {
    print(i)
    i += 1
} while i < 10

반복문 중에 while과 repeat-while문이 있다.

while condition 조건동안 while 구문 내의 코드가 반복하여 실행된다.

코드를 반복하기 때문에 순서를 거스르는 모양새가 되므로 flow control이다

 

마찬가지로 while condition {  } 중괄호가 나타난다.

while구문 내에서 let, var등을 이용해 변수를 선언했을 경우 해당 변수는 while 내에서만 살아있게 된다.

 

repeat-while이 while과 다른 점은 일단 조건 안 따지고 한 번 실행한 다음 조건을 보고 실행할지의 여부를 따진다는 것이다.

C언어의 do while문과 똑같다.

이럴거면 그냥 do while문을 쓰지...

 

 

올인원 패키지 : iOS 앱 개발👉https://bit.ly/2FjWizq