Swift 입문7 – 반복문

2014-09-30
8 Views

for문

for 루프변수 in 초기값 … 종료값 {

// 조건을 만족할 때까지의 실행내용

}

초기값과 종료값의 사이에 …을 끼고 범위를 지정합니다. 조건을 만족하는 경우, 처리할 내용을 실행하고 루프변수를 +1한 후 종료값까지 반복적으로 처리됩니다.

[swift]

import UIKit

let name = "MJ Kim"

for i in 1 … 5 {

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

}

[/swift]

swift-for1

 

참고로 루프변수는 let이기 때문에 변경할 수 없습니다. 그리고 1 … 5부분은 변수 또는 상수로 정의할 수 있습니다. 예로 let range = 1 … 5 로 선언할 수 있습니다.

[swift]

import UIKit

let name = "MJ Kim"

let range = 1 … 5

for i in range {

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

}

[/swift]

이를 다시 타입추측하는 형태인 1 … 5  Range형으로 정의되어 있는 것 같습니다.

let range = 1 … 5 => let range = Range(start:1, end:6)

그리고 1 ..< 6으로도 선언 가능합니다.

for i in 1 ..< 6 {

for 문의 범위 지정은 Dictionary, Array를 사용할 수 있습니다.

for문 범위지정에 String형 사용하기

[swift]

import UIKit

let name = "MJ Kim"

for i in name {

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

}

[/swift]

swift-for4

 

String의 문자수만큼 반복해서 내용을 실행합니다.

 

while문

for문처럼 반복할 때 이용합니다. 단, while문을 사용하는 경우에는 반복 실행하기 전에 조건을 무조건 확인하고 싶을 때나 반복 실행 후 조건을 검사하고 싶은 경우에 이용합니다.

반복 실행 전에 조건 확인

while 루프변수 < 종료값 {

// 조건만족하는 경우의 처리 내용

루프변수++

}

[swift]

import UIKit

let name = "MJ Kim"

var i=0

while i<5 {

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

i++

}

[/swift]

swift-while1

 

반복 실행 후 조건 검사

do {

//조건을 반족하는 경우의 처리내용

루프변수++

} while(루프변수 < 종료값)

[swift]

import UIKit

let name = "MJ Kim"

var i = 0

do {

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

i++

} while (i<5)

[/swift]

swift-while2

 

Facebook Comments

You may be interested

모바일 앱 아키텍처
Swift
shares24 views
Swift
shares24 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-58fe2d83cbe3e024650209/]  

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을 여러가지 패턴으로…