전체 글
스위프트(Swift) - 조건문 Ⅲ. #available 구문
앱을 개발하다보면 기기의 OS버전별로 구문을 나누어 작성해야할 경우가 종종있다. 사용하고자 하는 기능이 OS 버전에 따라 다르게 제공되거나 하위 버전에서는 지원되지 않는 것이 가장 큰원인인데 이를 보통 "API가 버전을 탄다"라고 표현한다. 애플에서 제공하는 코코아 터치 프레임워크의 주요 API들은 대부분 iOS 버전이 업그레이드될 때마다 개량을 거듭하기 때문에 iOS 버전에 따라 종종 사용이 제한되기에, 특정 API를 사용할 때엔 애플 개발자용 API 문서를 확인해 사용 가능한 OS버전과 기기를 꼭 체크해야한다. 이 때 유용하게 사용되는 구문이 #available 구문인데 먼저 이 구문을 사용하지 않을 경우를 살펴보자.(참고로 #available 구문은 스위프트 2 버전부터 지원하기 시작한 구문이다.)..
스위프트(Swift) - 조건문 Ⅱ. guard 구문
guard 구문은 if 구문과 마찬가지로 조건의 결과가 참인지 거짓인지에 따라 구문의 실행여부를 결정하는 조건문이다. if 구문과의 차이는 guard 구문에는 else 블록이 필수이지만, 조건이 참일 때 실행되는 블록이 따로 없다는 점이다. guard else { } guard 구문은 주로 후속 코드들이 실행되기 전에 조건을 만족하는지 확인하는 용도로 사용한다. 말하자면 특정 조건을 만족하지 않고 후속 코드를 실행할 경우 오류가 발생할 경우 전체 구문을 조기 종료(Early Exit)하기 위한 목적으로 사용된다는 것이다. 따라서 guard 구문의 else 뒤에는 return, break와 같은 코드의 진행을 막아주는 구문이 반드시 포함되어야 한다. 다음은 0으로 나누면 안되는 숫자의 특성을 guard 구..
스위프트(Swift) - 조건문 Ⅰ. if 구문
다른 말로 분기문(Branch Statements)라고도 불리는 조건문은 프로그램에서 하나 또는 그 이상의 조건값에 따라 실행하도록 프로그램의 흐름을 분기하는 역할을 한다. if 구문은 대부분의 프로그래밍 언어에서 가장 많이 사용되는 구문 중 하나로 if 조건절을 사용하여 조건식의 결과가 참(true)일 때만 블록 내부의 구문을 실행하고, 거짓(false)이면 코드 블록을 빠져나가 if 블록 다음에 위치한 코드를 수행한다. if { } 키워4드 if 다음에는 조건식이 사용되는데, 이 조건문은 반드시 Bool 타입의 참(ture), 거짓(false)을 판단할 수 있는 형태의 구문이어야 한다. (참고로 숫자의 경우 0만 false 나머지는 모두 true로 인식되는 특징?이 있다.) if 구문의 예시는 다음과..
스위프트(Swift) - 반복문 Ⅱ. while 구문
while 구문은 단순히 주어진 조건식의 결과가 false가 될 때까지 실행 구문을 계속 반복한다. 말하자면 while 구문은 '조건을 만족하는 동안은 계속 실행'되는 것이다. while 구문은 다음과 같을 때 사용하는게 좋다. 실행 횟수가 명확하지 않을 때 직접 실행해보기 전까지는 실행 횟수를 알 수 없을 때 실행 횟수를 기반으로 할 수 없는 조건일 때 실행횟수가 명확하지 않을 경우 while 문을 쓴다고 이해하면 된다. while 구문의 형식은 다음과 같다. while { } while 키워드 다음엔 조건이 사용되는데, 조건식은 반드시 참(true)나 거짓(false)을 결과값으로 반환해야 한다. 조건식의 값이 true일 동안은 실행 블록 내의 코드가 반복되어 수행되나 false를 반환하는 순간 반복..
스위프트(Swift) - 반복문Ⅰ. for ~ in구문
주어진 조건에 의해 특정 코드 블록을 반복적으로 실행할 수 있게 해주는 구문을 반복문이라고 한다. 프로그래밍에서 코드 블록의 반복을 루프(Loop)라고 부르고 반복되는 횟수를 루프 횟수라고 부른다. 스위프트에선 루프 횟수가 정해져 있는지를 기준으로 두 가지 방식의 반복문이 존재한다. For 반복문 While 반복문 For 반복문은 in 키워드와 함께 사용되어 정해진 횟수만큼 주어진 코드 블록을 반복해 실행한다. While 반복문은 주어진 조건이 false가 될 때까지 계속해서 구문을 반복 실행하는 특성이 있다. for ~ in 구문 for in { } for ~ in 구문을 구성하는 것은 루프 상수, 순회 대상, 실행할 구문 총 3개로 이루어져있다. 여기서 가장 중요한 것은 순회 대상이다. 순회 대상은 ..
스위프트(Swift) - 연산자
산술연산자 구분 연산자 사용 예 의미 단항 연산자 - -a 값의 부호 변경 이항 연산자 + a + b 값을 더함 - a - b 값을 뺌 * a * b 값을 곱함 / a / b 값을 나눔 % a % b a를 b로 나누고 난 후 나머지 비교 연산자 연산자 사용 예 의미 a > b a가 b보다 크면 true, 아니면 false = b a가 b보다 크거나 같으면 true, 아니면 false == a == b a가 b와 같으면 true, 아니면 false (수학의 =과 같은 개념) != a != b a와 b가 다르면 true, 아니면 false 논리 연산자 연산자 사용 예 의미 !(NOT) !a a가 true면 false, false면 true 반환 &&(AND) a && b a와 b 모두 true 일 때, tr..