Swift 입문8 – 조건분기문

2014-10-01
9 Views

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

You may be interested

모바일 앱 아키텍처
Swift
shares11 views
Swift
shares11 views

모바일 앱 아키텍처

MJ Kim - 4월 22, 2017

이 내용은 나름대로 개발해본 내용을 토대로 정리해본 모바일 앱 아키텍처에 대한 내용이다. 이를 정리한 이유는 오래된 아키텍처부터 최근 아키텍처까지 정리해보고…

시간차를 얻는 Date Extension
Swift 3.0
shares6 views
Swift 3.0
shares6 views

시간차를 얻는 Date Extension

MJ Kim - 4월 12, 2017

사용자가 남길 내용에 대한 시간표시를 할 때 일정한 시간차를 표현해주는 경우가 있어 이에 대한 Date Extention을 정리해 보았다. [crayon-58fbd0976ff25714753749/]  

Swift 3.1에서 없어진 문법 정리
Swift 3.0
shares34 views
Swift 3.0
shares34 views

Swift 3.1에서 없어진 문법 정리

MJ Kim - 3월 31, 2017

Swift언어는 무엇인가 나올때마다 없어지는 것들이 있어, Swift 3.1에서 컴파일할 수 없게 된 문법내용을 정리했다. switch문을 사용하여 enum에서 protocol을 여러가지 패턴으로…