Swift 15

[Swift]옵셔널(Optional) - 3

전편과 이어집니다 옵셔널 바인딩 1)if 구문 내에서 조건식 대신 옵셔널 값을 일반 변수나 상수에 할당하는 구문을 사용하는 방식 2)조건문 내에서 일반 상수에 옵셔널 값을 대입하는 방식 3)반드시 조건문에서 사용해야만 한다 4)옵셔널 값을 대입한 결과는 true/false로 리턴 예제를 확인해봅시다 var str = "swift" //if문 if let STR = Int(str) { print("Int형으로 변환됩니다") } else { print("실패!") } //guard문 guard let STR = Int(str) else { print("실패!") return } 전편과 비슷해보이지만, STR가 상수도 선언되었으며 옵셔널이 아닌 일반 타입 강제 해제 연산자(!)를 사용하지 않아도 옵셔널 값이 ..

Swift 2022.01.06

[Swift]옵셔널(Optional) - 2

전편과 이어집니다 옵셔널 처리 let num: Int? = Int("123") print(num) //결과: Optional(123)위와 같이 옵셔널 타입으로 정의한 것에 결과는 Optional이 앞에 붙은 결과가 나옵니다 이 Optional이라는 객체를 해제해야 실제로 쓸 수 있는 결과가 나옵니다 이때 옵셔널 객체를 해제하고 내부의 값을 가져오는 것을 옵셔널 해제라고 합니다 다른 말로는 옵셔널 언래핑(Optional Unwrapping)이라고 합니다 옵셔널 해제 방법 1)명시적 해제 1)강제 해제 2)비강제 해제 2)묵시적 해제 1)컴파일러에 의한 자동 해제 2)! 연산자를 이용한 자동 해제 옵셔널 강제 해제 강제 해제 방법은 !를 붙이면 끝! ! 기호는 강제 해제 연산자(Forced Unwrappin..

Swift 2021.12.29

[Swift]옵셔널(Optional) - 1

옵셔널(Optional) 스위프트에서 도입된 새로운 개념으로 언어 차원에서 프로그램의 안전성을 높이기 위해 사용하는 개념입니다 한 문장으로 정의하자면 nil을 사용할 수 있는 타입과 사용할 수 없는 타입을 구분, 사용할 수 있는 타입을 가리켜 옵셔널 타입이라고 부른다 여기서 nil이란 값이 없음을 의미하는 특수한 값입니다 let capital = ["KR": "Seoul", "CN": "Beijing", "JP": "Tokyo"] capital["KK"] // nil위와 같이 capital에 KK라는 키와 값은 없습니다 이러한 경우 스위프트는 nil이라는 값을 반환합니다 하지만 모든 타입에서 nil을 반환할 수 있는 것은 아니며, 오직 옵셔널 타입만 nil을 반환할 수 있습니다 옵셔널은 오류가 발생할 수..

Swift 2021.12.28

[Swift] Dictionary(딕셔너리)

Dictionary 고유 키(Key)와 키에 대응 하는 값(Value)을 연결하는 데이터를 저장하는 자료형 [ key: value, ...] 배열과 마찬가지로 대괄호를 사용하며 키와 값 사이는 콜론으로 구분 특징 1.하나의 키는 하나의 데이터만 연결 2.하나의 딕셔너리에서 키는 중복될 수 없습니다 3.저장할 수 있는 데이터의 타입에는 제한이 없지만, 하나의 딕셔너리에 저장하는 타입은 모두 일치해야됩니다 //선언과 동시에 값 정의 var captical = ["KR": "Seoul", "EN": "London", "FR", "Paris"] //딕셔너리 참조 방법 captical["KR"] /결과: Seoul ... //선언만(빈 딕셔너리) Dictionary() Ex) Dictionary() //간결하게 ..

Swift 2021.12.25

[Swift] Tuple(튜플)

튜플 1.스위프트에서 제공하는 특별한 성격의 집단 자료형 2.(배열과 딕셔너리와 달리)여러 가지 타입의 아이템을 저장할 수 있다 3.선언되면 상수 성격임으로 값 추가 및 수정 불가 --> 타입은 여러 가지가 저장되지만, 한번 만들면 수정이 불가하다 let tupleValue = ("a", "bcd", 1, 2.5, true) //타입어노테이션을 쓰면 좋다 "a", 2.5같은 추론하기 애매한 타입때문이다 let tupleValue: (character, String, Int, Double, Bool) = ("a", "bcd", 1, 2.5, true)위와 같이 여러 가지 타입 저장할 수 있으며, tupleValue.0 //결과: a ...위와 같이 인덱스를 참조하여 해당 값을 불러올 수 있다 튜플은 특히하..

Swift 2021.12.25

[Swift]집단 자료형 - 집합(Set)

집합(Set) 같은 타입의 서로 다른 값을 중복 없이 저장할 때, 사용하는 집단 자료형인 Set 배열과 비슷하지만 데이터들이 중복으로 저장되지 않아 무조건 한 개의 값은 한 개뿐 없습니다 정의 집합을 정의할 때는 초기값을 사용하여 정의하거나 빈 집합을 선언하고 초기화하는 과정을 거쳐 정의할 수 있습니다 //정의 Set () var music: Set = ["Hip-hop", "Pop", "Classic"]insert(_:) 집합에 값을 추가하는 방식, 배열에서 append(_:)와 같다 music.insert("ballad") //결과: ["Hip-hop", "Pop", "Classic", "ballad"]배열과 동일하게 count가 존재합니다(같은 의미) isEmpty속성의 값이 true(집합이 비어있..

Swift 2021.12.21

[Swift]집단 자료형 - 배열(Array)

서로 관련있는 데이터끼리 모아서 관리할 수 있도록 집단 자료형이는 것을 제공합니다 1)배열(Array) 2)집합(Set) 3)튜플(Tuple) 4)딕셔너리(Dictionary) 4개 모두 어떤 타입의 데이터라도 모두 저장할 수 있지만, 튜플을 제외한 나머지는 저장되는 모든 데이터의 타입의 동일해야 됩니다 배열(Array) 일련의 순서를 가지는 리스트 형식의 값을 저장하는데 사용되는 자료형 배열에 입력되는 개별 아이템들은 각각의 순서가 있는데 순서에 일련번호를 인덱스(Index)라고 합니다 인덱스(Index)는 0부터 시작해서 아이템이 추가될때 마다 1씩 증가하는 특징이 있다 배열에 추가를 하면 인덱스는 1씩 증가 하며, 만약 3번째를 지운다면 4번째가 3번째로 들어오며 차례대로 인덱스가 앞당겨집니다 특징..

Swift 2021.12.20

[Swift]흐름 제어 구문 - 제어 전달문

[Swift]흐름 제어 구문 - 조건문참고 해주세요!! 제어전달문 코드의 한 부분에서 다른 부분으로 제어 흐름을 전달하여 코드가 실행되는 순서를 변경해주는 구문입니다 제어 전달문은 총 4가지가 있습니다. 1)break 2)continue 3)fallthrough 4)return break swith구문에서 실행 흐름이나 반복 실행 중인 루프를 조건식의 결과에 상관없이 즉각적으로 종료하는데 사용 if문 내에서도 조건을 충족할 시, 미리 종료할 수 있다. for row in 0...5 { if row > 2 { break } print(row) //결과: 0/1/2 }continue 위에 break문과 달리 구문 아래에 있는 실행 구문들을 건너뛰고 다음 반복을 시작하는 역할입니다 coutinue이후에 실행할..

Swift 2021.12.19

[Swift]흐름 제어 구문 - 조건문

[Swift]흐름 제어 구문 - 반복문 참고해주세요!! 조건문 다른 말로는 분기문이라고도 하는 조건문은 프로그램에서 하나 또는 그 이상의 조건 값에 따라 특정 구문을 실행하도록 프로그램의 분기하는 역할 조건에 따라 실행될지 결정하는데 사용합니다 조건문은 크게 3가지입니다. 1)If 2)Guard 3)Switch If 구문 하나 또는 그 이상의 조건을 평가하고 그 결과에 따라 코드 블록 실행 가장 많이 사용되는 구문 중 하나 if { }조건식이 사용되는데 이 조건문은 반드시 Bool Type이며 true일 때, { }안에 실행됩니다 ex) var adult = 20 var myAge = 10 if age < 20 { print("애기") }하지만 위와 같이 만약 age가 작으면 출력을 하고 싶다 그렇다면 ..

Swift 2021.12.19

[Swift]흐름 제어 구문 - 반복문

프로그래밍 과정에서 소스 코드를 구문(Statement)라고 말합니다. 구문은 크게 단순 구문과 흐름 제어 구문 두가지로 나눌 수 있습니다. 단순 구문 1.식이나 값 표현,각종 개체의 선언이나 정의 등에 사용되는 구문 2.변수나 상수 선언, 연산 처리 등은 모두 단순 구문 흐름 제어 구문 1.프로그램 실행 흐름을 능동적으로 제어하기 위한 목적으로 사용되는 구문 2.반복적 실행 및 제어 1) 반복문 2) 조건문 3) 제어 전달문 반복문 주어진 조건에 의해 특정 코드 블록을 반복적으로 실행하는 구문 코드 블록의 반복을 루프(Loop)라고 말합니다. 1.For 반복문 2.While 반복문 For 반복문 in 키워드와 함께 사용하며 정해진 횟수만큼 주어진 코드 블록을 반복해서 실행합니다. 횟수에 의한 반복 fo..

Swift 2021.12.17