본문 바로가기

iOS121

고차함수 [ map, filter, reduce ] 정의 - 전달 인자로 함수를 전달받거나 함수 실행의 결과로 함수를 반환하는 함수입니다. - map, filter, reduce와 같은 함수가 있습니다. map - 컨테이너 내부의 기존 데이터를 변형하여 새로운 컨테이너를 생성하는 함수. 생성 - numbers라는 배열을 생성하겠습니다. - numbers 배열의 요소들을 변경하기 위한 doubledNumbers, strings 변수를 생성하겠습니다. let numbers: [Int] = [0, 1, 2, 3, 4] var doubledNumbers: [Int] var strings: [String] 사용 - map 메서드를 사용하는 방식은 다음과 같습니다. - numbers에 map 메서드를 호출하고 map의 전달 인자 자리에 클로저를 사용했습니다. - m.. 2022. 2. 7.
오류 처리 [ error handling ] 정의 - 오류처리는 프로그램에서 발생한 에러를 받고 대응하는 과정입니다. - Swift에서 오류를 표기하는 방법으로 Error 프로토콜과 열거형을 사용합니다. 오류 표현 enum 오류종류이름: Error { case 종류1 case 종류2 case 종류3 ... } 오류처리 예제 오류처리 생성 - 자판기가 일으킬 수 있는 오류사항을 표현한 VendingMachineError 열거형 - 오류사항은 다음과 같습니다. 더보기 1, 금액 투입의 오류 2, 잔액 부족 3, 품절 enum VendingMachineError: Error { case invalidInput case insufficientFunds(moneyNeeded: Int) case outOfStock } 클래스 생성 class VendingMa.. 2022. 2. 4.
열거형 [ enum ] 정의 - 같은 주제로 연관된 데이터들을 멤버로 구성하여 나타내는 자료형입니다. - Swift에서 열거형은 각각의 case가 고유의 값으로 취급 됩니다. - enum은 타입이므로 대문자 카멜케이스를 사용해 이름을 정의합니다. 정의형식 enum 이름 { // case 이름1 // case 이름2 // case 이름3, 이름4, 이름5 // ... } 열거형 예제 열거형 생성 - 한 줄에 case 하나를 작성할 수 있습니다. - 한 줄에 연속된 여러가지 case를 작성할 수도 있습니다. enum Weekday{ case mon case tue case wed case thu, fri, sat, sun } 열거형 사용 - 열거형의 케이스를 나타내는 문법으로 열거형 타입으로 적어주고 . 뒤에 케이스 이름을 작성하.. 2022. 2. 3.
클래스 [ Class ] 정의 - 클래스를 정의하여 객체를 만들고 사용할 수 있습니다. - 클래스에서 생성된 객체, 인스턴스를 만들어 코드 내에서 사용할 수 있습니다. - 클래스는 구조체와 유사합니다. - Swift의 클래스는 다중 상속이 되지 않습니다. - 클래스는 참조 타입입니다. 정의 형식 class 이름 { // 구현코드 } 예제 - 클래스도 구조체와 유사하게 프로퍼티와 메서드를 구현할 수 있습니다. 클래스 생성 - 클래스에서는 두 가지의 타입 메서드가 있습니다. - 두 가지의 타입 메서드로는 상속을 받았을 때, 재정의가 불가능한 static 메서드와 재정의가 가능한 class 메서드가 있습니다. class Sample { var mutableProperty: Int = 100 // 가변 프로퍼티 let immutable.. 2022. 2. 3.
구조체 [ Struct ] 정의 - 구조체는 인스턴스의 값(프로퍼티)을 저장하거나 기능(메서드)을 제공하고, 이를 캡슐화할 수 있는 스위프트가 제공하는 타입입니다. - 구조체 안의 변수를 프로퍼티라고 합니다. - 구조체 안의 함수를 메서드라고 합니다. - Swift에서는 대부분의 타입이 구조체로 이루어져 있습니다. - 구조체는 값 타입입니다. 정의 형식 struct 이름 { // 구현 코드 } 구조체 예제 구조체 생성 - 간단한 예제를 통해 알아보겠습니다. - 특정 타입 안에 들어있는 인스턴스 변수를 프로퍼티, 구조체 안에 있는 함수를 메서드라고 칭합니다. - 가변 프로퍼티는 변수 선언 후에도 값을 변경할 수 있는 (인스턴스) 프로퍼티입니다. - 불변 프로퍼티는 값을 변경할 수 없는 (인스턴스) 프로퍼티입니다. - static 키.. 2022. 2. 3.
클로저 고급 지난 클로저에 이은 클로저에 다양한 사용법에 대해 알아보겠습니다. [클로저의 기본 개념] 2022.02.01 - [iOS/Swift 문법 심화 학습] - 클로저 클로저 정의 - 코드의 블록입니다. - 참조 타입입니다. - 일급 객체(시민)입니다. 1, 일급 객체는 전달 인자로 보낼 수 있습니다. 2, 일급 객체는 변수, 상수, 등으로 저장하거나 전달 할 수 있습니다. 3, 일 seagreen83.tistory.com 예제 - 먼저 클로저를 사용하기 위한 함수를 만들겠습니다. - 메소드라는 이름으로 클로저를 전달 받아 기능을 구현하는 함수입니다. func calculate(a: Int, b: Int, method: (Int, Int) -> Int) -> Int { return method(a, b) } 후.. 2022. 2. 2.