본문 바로가기

iOS_Swift/2022_Summer23

Swift - 고차함수(map, filter, reduce) 고차함수란 ? 다른 함수를 전달 인자로 받거나 함수 실행의 결과를 함수로 반환하는 함수를 의미합니다. (일급 객체이기 때문에 가능합니다.) 대표적인 고차함수 세가지 모두 컬랙션 타입으로 구현되어 있습니다. map - 배열 내부의 기존 데이터를 변경하여 새로운 배열 값을 생성합니다. filter - 컨테이너 내부의 값을 걸러서 상황에 맞는 값(컨테이너)을 추출합니다. reduce - 배열 내부의 값을 하나의 값으로 통합합니다. 고차함수 map 예시 let number = [10, 20, 30, 40] let mapArray = number.map {(number) -> Int in return number + 1} //클로저 방식으로 구현 print(mapArray) 고차함수 filter 예시 let ch.. 2022. 8. 23.
Swift - Closure(클로저) Closure(클로저) 란 ? 코드에서 전달 및 사용할 수 있는 독립 기능 블록이며, 일급 객체의 역할을 할 수 있습니다. 클로저의 다른 이름은 익명함수로 이름 없는 함수로도 불립니다. - Unnamed Closure 일급 객체, 일급 시민 이란 ? 전달 인자로 보낼 수 있다. 변수/상수 등으로 저장하거나 전달 할 수 있다. 함수의 반환 값이 될 수도 있다. 클로저의 사용예시 import UIKit import Foundation let hello = { () -> () in //익명 함수 제작 print("hello") } hello() 클로저 생성 및 매개변수 지정 및 출력 let cho = { (name: String) -> String in return "Hello, \(name)" //name .. 2022. 8. 22.
Swift - 오류처리(try - catch) 오류처리란 ? 프로그램 내에서 에러가 발생한 상황에 대해 대응하고 이를 복구하는 과정을 의미합니다. Swift 내부의 오류처리 발생 (throwing) 감지 (catching) 전파 (propagating) 조작 (manipulating) 오류 처리 열거형을 만들때는 Error 라는 프로토콜을 꼭 채택해주어야한다. throw - 오류가 발생할 수있도록 유도 하기 위한 문법을 의미합니다. 오류 발생 사용예시 throw 사용 import UIKit enum PhoneError: Error{ case unknown case batteryLow(batteryLevel:Int) } throw PhoneError.batteryLow(batteryLevel: 30) //에러가 발생할 곳에 던져줌으로써 에러 발생 유도.. 2022. 8. 21.
Swift - 옵셔널 체이닝 Optional chaining, 옵셔널 체이닝 이란 ? 옵셔널에 속해있는 nil 일지도 모르는 프로퍼티, 메서드, 서브스크립션 등을 가져오거나 호출할 때 사용할 수 있는 일련의 과정을 의미합니다. ? , 옵셔널 체이닝을 사용시 옵셔널에 값이 있다면 옵셔널 형 값을 호출합니다. 옵셔널에 값이 없다면 nil을 호출합니다. !, 옵셔널 체이닝을 사용시 옵셔널에 값이 있다면 옵셔널을 벗기고 값을 호출합니다. 값이 정확히 있다고 생각들때 주로 사용해야 합니다. 안그러면 오류가 발생 옵셔널 체이닝을 이용하면 if 또는 guard문을 이용하여 장황하게 풀어내야하는 옵셔널 문장을 간단하게 해결할 수 있습니다. 옵셔널 체이닝에 대한 간단한 예시 두개의 구조체를 이용하여 옵셔널 체이닝 방법을 설명해 보았습니다. impo.. 2022. 8. 16.