Swift 입문8 – 조건분기문

2014-10-01
3 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

Xcode 기능 확장(Extension) 제거하기
Xcode
shares3 views
Xcode
shares3 views

Xcode 기능 확장(Extension) 제거하기

MJ Kim - 3월 18, 2017

Mac에서 Xcode Source Editor Extension등의 기능확장을 사용하다보면 디버깅시 시스템 환경 설정의 확장이 앱에 등록되는 경우가 있다. 계속해서 목록이 남아 있기…

iOS App Store Review(앱 심사약관) 번역
Swift 3.0
shares112 views
Swift 3.0
shares112 views

iOS App Store Review(앱 심사약관) 번역

MJ Kim - 3월 15, 2017

App Store Review를 번역했다. 사실 이번에 좀 애매한 리젝을 당해서 그걸 이해하고자 정리해본다. 원문링크: https://developer.apple.com/app-store/review/guidelines/ 1. 이약관은? 1.1 앱 개발자로서 프로그램의…

Raspberry Pi 타이머 On/Off 전원제어모듈 RPi1114-Raspberry Pi
IoT by Raspberry Pi
shares7 views
IoT by Raspberry Pi
shares7 views

Raspberry Pi 타이머 On/Off 전원제어모듈 RPi1114-Raspberry Pi

MJ Kim - 3월 04, 2017

RPi1114-Raspberry Pi전원제어 모듈이 있다. 이 제품은 40Pin GPIO핀헤더에 연결하여 사용하는 모듈로 Cortax-M0마이크로컨트롤러 LPC1114를 내장하고 Raspberry Pi의 시작과 정지 순서등을 프로그래밍할…