Swifter {Swift Developer}

메뉴

Swift 입문8 – 조건분기문

if문

if문을 사용한 조건 분기문의 기본은 다음과 같습니다.

  • if ~
  • if ~ else ~
  • if ~ else if ~ else ~

[swift]

import UIKit

let name = "MJ Kim"

var i = 0

for i in 1 … 5 {

println("(i) – (name)")

if i == 5 {

println("5번째구나!")

}

}

[/swift]

swift-if1

다음은 if ~ else ~문을 사용해 봅시다.

루프변수가 5일 때 소문자, 그렇지 않으면 대분자로 표기하는 예제입니다.

[swift]

import UIKit

let name = "MJ Kim"

var i = 0

for i in 1 … 5 {

 

if i == 5 {

println("(i) – (name)")

} else {

println("(i) – (name.uppercaseString)")

}

}

[/swift]

swift-if2

if ~ else if ~ else ~문을 사용해 봅시다.

[swift]

import UIKit

let name = "MJ Kim"

var i = 0

for i in 1 … 5 {

 

if i == 5 {

println("(i) – (name)")

} else if i==3 {

println("3번째구나!")

} else {

println("(i) – (name.uppercaseString)")

}

}

[/swift]

swift-if3

if문을 사용하 { ~ }를 사용하지 않으면 오류가 납니다. 이는 버그가 될 가능성이 있어 코딩시 주의해야 합니다. Objective-C언어에서는 이를 허용하기 때문입니다. 그리고 { ~ }를 사용하면 가독성도 좋습니다.

 

Switch문

switch에서 지정한 것과 같은 값이 case중에 있으면 그 안의 작업을 실행합니다.

switch** {

case AA:

break

case BB:

break

default:

break

}

[swift]

import UIKit

let country = "Korea"

switch country {

case "USA":

println("미국")

case "China":

println("중국")

case "Korea":

println("한국")

default:

println("없음")

}

[/swift]

swift-switch1

 

Swift의 Switch가 Objective-C언어와 다른 점은 switch문 뒤에 비교대상이 ( ~ )가 필요없고, 비교대상이 숫자값이 아니어도 되고 객체일 경우가 좋습니다. 그리고 case별로 마지막에 break문을 넣지 않아도 실행됩니다.

그리고 case뒤에 두개의 값을 넣을수도 있습니다.

[swift]

case "USA","Japan":

println("미국, 일본")

[/swift]

그리고 이런 형태도 가능합니다.

[swift]

case 0 ..< 50:

println("중간")

[/swift]

switch문은 Objective-C언어에 비해 유연하기 때문에 많이 사용할 것으로 예상됩니다.

Facebook Comments

카테고리:   Swift Books

댓글

죄송하지만 댓글은 닫혀 있습니다.