iOS/Swift 기초

iOS/Swift 기초

[ Swift 기초 ] 고차 함수

안녕하세요 공공돌🧸 입니다. 고차함수에 대해 정리 해봤습니다. 1. 고차함수 1. 고차 함수 고차 함수(Higher-order function)는 '다른 함수를 전달인자로 받거나 함수실행의 결과를 함수로 반환하는 함수'를 뜻합니다 스위프트의 함수(클로저)는 일급시민(일급객체)이기 때문에 함수의 전달인자로 전달할 수 있으며, 함수의 결과값으로 반환할 수 있습니다 이번 파트에서는 스위프트 표준라이브러리에서 제공하는 유용한 고차함수[map, filter, reduce]에 대해 알아봅니다 map, filter, reduce 함수는 스위프트 표준 라이브러리의 컨테이너 타입(Array, Set, Dictionary 등)에 구현되어 있습니다 2. map map함수는 컨테이너 내부의 기존 데이터를 변형(transfor..

iOS/Swift 기초

[ Swift 기초 ] 오류 처리

안녕하세요 공공돌🧸 입니다. 오류처리에 대해 정리 해봤습니다. 1. 오류 처리 1. 오류 처리 스위프트에서 오류(Error)는 Error라는 프로토콜을 준수하는 타입의 값을 통해 표현됩니다. Error 프로토콜은 사실상 요구사항이 없는 빈 프로토콜일 뿐이지만, 오류를 표현하기 위한 타입(주로 열거형)은 이 프로토콜을 채택합니다. 스위프트의 열거형은 오류의 종류를 나타내기에 아주 적합한 기능입니다. 연관 값을 통해 오류에 관한 부가 정보를 제공할 수도 있습니다. 2. 오류 표현 Error 프로토콜과 (주로)열거형을 통해서 오류를 표현합니다. enum VendingMachineError: Error { case invalidInput case insufficientFunds(moneyNeeded: Int) ..

iOS/Swift 기초

[ Swift 기초 ] 익스텐션

안녕하세요 공공돌🧸 입니다. 익스텐션에 대해 정리 해봤습니다. 1. 익스텐션 1. 익스텐션 익스텐션(Extension) 은 스위프트의 강력한 기능 중 하나입니다. 익스텐션은 구조체, 클래스, 열거형, 프로토콜 타입에 새로운 기능을 추가 할 수 있는 기능입니다. 기능을 추가하려는 타입의 구현된 소스 코드를 알지 못하거나 볼 수 없다 해도, 타입만 알고 있다면 그 타입의 기능을 확장할 수도 있습니다. 💡 스위프트의 익스텐션이 타입에 추가할 수 있는 기능 연산 타입 프로퍼티 / 연산 인스턴스 프로퍼티 타입 메서드 / 인스턴스 메서드 이니셜라이저 서브스크립트 중첩 타입 특정 프로토콜을 준수할 수 있도록 기능 추가 ** 익스텐션은 타입에 새로운 기능을 추가할 수는 있지만, 기존에 존재하는 기능을 재정의할 수는 없..

iOS/Swift 기초

[ Swift 기초 ] 프로토콜

안녕하세요 공공돌🧸 입니다. 프로토콜에 대해 정리 해봤습니다. 1. 프로토콜 프로토콜(Protocol) 은 특정 역할을 수행하기 위한 메서드, 프로퍼티, 기타 요구사항 등의 청사진을 정의합니다. 구조체, 클래스, 열거형은 프로토콜을 채택(Adopted) 해서 특정 기능을 수행하기 위한 프로토콜의 요구사항을 실제로 구현할 수 있습니다. 어떤 프로토콜의 요구사항을 모두 따르는 타입은 그 프로토콜을 준수한다(Conform) 고 표현합니다. 타입에서 프로토콜의 요구사항을 충족시키려면 프로토콜이 제시하는 청사진의 기능을 모두 구현해야 합니다. 즉, 프로토콜은 기능을 정의하고 제시 할 뿐이지 스스로 기능을 구현하지는 않습니다. 2. 정의 protocol 키워드를 사용하여 정의합니다. protocol 프로토콜 이름 ..

iOS/Swift 기초

[ Swift 기초 ] assert / guard

안녕하세요 공공돌🧸 입니다. assert와 guard 에 대해 정리 해봤습니다. 1. assert / guard 애플리케이션이 동작 도중에 생성하는 다양한 연산 결과값을 동적으로 확인하고 안전하게 처리할 수 있도록 확인하고 빠르게 처리할 수 있습니다. 1. Assertion assert(_:_:file:line:) 함수를 사용합니다. assert 함수는 디버깅 모드에서만 동작합니다. 배포하는 애플리케이션에서는 제외됩니다. 예상했던 조건의 검증을 위하여 사용합니다. var someInt: Int = 0 // 검증 조건과 실패시 나타날 문구를 작성해 줍니다 // 검증 조건에 부합하므로 지나갑니다 assert(someInt == 0, "someInt != 0") someInt = 1 //assert(someI..

iOS/Swift 기초

[ Swift 기초 ] 타입 캐스팅

안녕하세요 공공돌🧸 입니다. 타입 캐스팅에 대해 정리 해봤습니다. 1. 타입 캐스팅 1. 스위프트 타입 캐스팅 인스턴스의 타입을 확인 하는 용도 클래스의 인스턴스를 부모 혹은 자식 클래스의 타입으로 사용할 수 있는지 확인 하는 용도 is, as를 사용합니다. 📝 형변환은 'ex. let someDouble = Double(2)' 타입 캐스팅이 아니라 새로운 값을 생성하는 것입니다. 2. 예제 클래스 class Person { var name: String = "" func breath() { print("숨을 쉽니다") } } class Student: Person { var school: String = "" func goToSchool() { print("등교를 합니다") } } class Unive..

Sheep1sik
'iOS/Swift 기초' 카테고리의 글 목록