Swift

    Swift 기본 문법 - 7. 흐름제어 (if, switch)

    흐름제어 다른언어와 마찬가지로 if구문, switch 구문에 대해 작성되어있습니다. () 구문을 생략 할 수 있습니다. {}는 생략 할 수 없습니다. 다만 if문에서 다른언어는 정수, 실수 등 0 이 아닌 모든 값을 참으로 취급 할 수 있었는데 스위프트에선 if 구문의 조건값이 꼭 Bool 타입이어야만 합니다. if 구문 let first: Int = 5 let second: Int = 5 var biggerValue: Int = 0 if first > second { biggerValue = first } else if first == second { biggerValue = first } else if first < second { biggerValue = second } else if first =..

    Swift 기본 문법 - 6. 연산자

    연산자 연산자는 다른언어와 비슷한 부분이 많아 몰랐던 부분만 작성하였습니다. 5.1.5 범위 연산자 값(수)의 범위를 나타내고자 할 때 사용합니다. 폐쇄 범위 연산자 : A...B : A부터 B까지의 수를 묶어 범위를 표현합니다. 반폐쇄 범위 연산자 : A.. < B : A부터 B 미만까지의 수를 묶어 범위를 표현합니다. A를 포함하고 B는 포함하지 않습니다. 단방향 범위 연산자 : A... : A 이상의 수를 묶어 범위를 표현합니다. ...A : A 이하의 수를 묶어 범위를 표현합니다. .. < A : A 미만의 수를 묶어 범위를 표현합니다. 텍스트로 봐서는 범위연산자가 어떤 값들의 범위를 나타내는것 같은데 어떻게 사용되는지 모르겠다. 뒤에 반복문에서 코드를 통해 더 자세히 살펴보자. 5.1.9 오버플..

    스위프트 기본문법 - 5. 세트(Set)

    열거형 스위프트에서 열거형이라는 말이 무엇인지 가장 궁금했다. 그냥 반복 할 수 있게 나열 한건가? 알아보자 책에선 열거형은 연관된 항목들을 묶어서 표현할 수 있는 타입입니다. 라고 적혀있다. 추가/ 수정이 불가능하고 딱 정해진 값만 열거형 값에 속할 수 있다고 한다. 미리 선언해 놓은 상수들의 집합인가? 열거형은 다음과 같은 경우 요긴하게 사용됩니다. 1) 제한된 선택지를 주고 싶을 때 2) 정해진 값 외에는 입력받고 싶지 않을 때 3) 예상된 입력 값이 한정되어 있을 때 예시를 보면 다음과 같습니다. - 무선통신 방식 : WiFI, 블루투스, LTE, 3G, 기타 - 학생 : 초등학생, 중학생, 고등학생, 대학생, 대학원생, 기타 - 지역 : 강원도, 경기도, 경상도, 전라도, 제주도, 충청도 enu..

    스위프트 기본문법 - 4. 세트(Set)

    세트(set) 세트는 같은 타입의 데이터를 순서 없이 하나의 묶음으로 저장하는 형태의 컬렉션 타입입니다. 순서가 중요하지 않거나 각 요소가 유일한 값이어야 하는 경우에 사용합니다. 세트의 선언과 생성 var names: Set = Set() var names2: Set = [] var names3: Set = ["kemi", "chulso", "younghee", "kemi"] // 중복이 제거된 값이 들어감 print(names3.count) //3 names3.insert("jenny") print(names3) //["chulso", "younghee", "jenny", "kemi"] 세트의 사용 var names: Set = Set() var names2: Set = [] var names3: S..

    Swift 기본 문법 - 4. 딕셔너리(dictionary)

    딕셔너리 요소들이 순서 없이 키와 값의 쌍으로 구성되는 컬렉션 타입입니다. 딕셔너리에서 키는 유일한 식별자이기 때문에 중복해서 사용 할 수 없습니다. 딕셔너리 선언 // 값이 Int인 빈 dictionary를 생성합니다. var numberForName: Dictionary = Dictionary() // 동작은 위와 같은 축약 표현입니다. typealias StringIntDictionary = [String: Int] var numberForNmae2: StringIntDictionary = StringIntDictionary() // 키와 값 타입을 명시 해줬다면 [:] 만으로도 빈 딕셔너리를 생성 할 수 있습니다. var numberForName3: [String: Int] = [:] // 초깃값..

    Swift 기본 문법 - 4. 컬렉션형(배열)

    컬렉션형 스위프트에서 튜플 말고도 데이터를 묶어서 저장하고 관리 할 수 있는 컬렉션 타입이 존재합니다. 배열(Arrary), 딕셔너리(Dictionary), 세트(Set)등이 있습니다. 배열 데이터를 일렬로 나열한 후 순서대로 저장하는 형태의 컬렉션 타입입니다. var names: Array = ["yagom", "chulso", "younghee", "yagom"] // 위 표현과 동일한 축약 표현 //var names:[String] = ["yagom", "chulso", "younghee", "yagom"] var emptyArray: [Any] = [Any]() // 빈요소를 같은 배열을 선언합니다. var emptyArray2: [Any] = Array() // 배열의 타입을 정확히 명시해줬다면..

    Swift 기본 문법 - 3. 데이터 타입

    데이터 타입 스위프트 특징 중 안정성Safe이 가장 뚜렷하게 나타나는 부분입니다. 스위프트는 값 타입이 동일해야 연산을 할 수 있습니다. 타입 추론 스위프트에서 타입을 명시하지 않아도 값에 따라서 타입이 자동으로 결정됩니다. var name = "Kwanhee" // 앞서 타입 추론에 의해 name은 String 타입의 변수로 지정되었기 때문에 // 정수를 할당하려고 시도하면 오류가 발생합니다. name = 100 타입 별칭 스위프트에서 데이터 타입에 임의로 다른 이름을 부여할 수 있습니다. typealias MyInt = Int typealias YourInt = Int typealias MyDouble = Double let age: MyInt = 100 var year: YourInt = 2080 ..

    Swift 기본 문법 - 2. 주석

    주석 주석은 코드를 다시 봤을 때 필요한 중요 메모나 다른 프로그래머에게 설명하기 위한 메모 등을 주석으로 남깁니다. 다른 언어와 유사하게 주석처리를 합니다. 한 줄 주석 - 슬래시 두 개를 사용함 // MARK: - 한 줄 주석 여러 줄 주석 - 슬래시와 별표를 사용함 // MARK: - 여러 줄 주석 /* 여러줄 주석 * 공간 까지 모두 주석으로 처리합니다. */ 퀵헬프 주석 option을 누른상태로 클릭하면 퀵헬프를 볼 수 있습니다. 퀵헬프를 위한 마크업은 다음과 같습니다. /// 오류 타입의 열거형입니다. /// - noName: 이름을 전달받지 못했을 때 발생하는 오류 /// - unknown: 알 수 없는 오류 enum HelloError: Error { case noName case inco..