Swift

[Swift] Currying

August 23 2021

수학과 컴퓨터 과학에서 커링(currying)이란 다중 인수 (혹은 여러 인수의 튜플)을 갖는 함수를 단일 인수를 갖는 함수들의 함수열로 바꾸는 것을 말한다. 모지즈 쇤핑클에 의해 도입되었고, 이후 해스켈 커리에 의해 발전하였다.

[Swift] @autoClosure

August 23 2021

@autoclosure속성을 사용하면 클로저에 자동으로 래핑되는 인수를 정의할 수 있다. 일반 구문을 인자값으로 넣어도 컴파일러가 알아서 클로저로 만들어서 사용한다.

[Swift 5.5] async await

August 22 2021

Javascript, kotlin, google-promises 등 그 동안 다른 언어에서 제공되던 기능이 Swift 5.5 에 강력하게 들어왔다. 비동기 프로그래밍은 그동안 delegate 패턴이나, closur 를 통해 해왔다면 앞으로는 async, await 를 통한 동기 프...

[Swift 5.5] Actor

August 22 2021

Reference type 이다. 스레드의 모델(MVVM 처럼 뷰-뷰모델을 만드는 것과 유사하다)

Set

July 23 2021

Set은 정의된 순서 없이 collection에 동일한 Type의 고유한 값을 저장한다. 항목의 순서가 중요하지 않거나 항목이 한 번만 표시되도록 해야 하는 경우 array 대신 Set을 사용할 수 있다.

Dictionary

July 23 2021

Value type 이다. @frozen public struct Dictionary<Key, Value> where Key : Hashable

Array

July 23 2021

Value type 이다. @frozen public struct Array<Element>

Swift Package Manager 생성해보기

June 29 2021

Swift Package Manager(SPM)는 프로젝트의 의존성 관리 및 패키지 빌드를 자동화하는 공식 Swift 패키지 매니저이다. SPM은 프로젝트에서 사용하는 모든 의존성을 정의하고, 패키지의 종속성 관리를 담당한다.

[Swift] String.init(format:_:)

September 10 2019

변수나 리터럴, 표현식 등 조합으로 새로운 문자열을 구성하는 것을 String Interpolation 이라 한다. 문자열 형식 지정 방법 및 함수에서 지원하는 형식 지정자를 요약한다.

[Swift] Boxing

February 02 2019

value type 을 reference type 으로 변경하는 것을 Boxing, reference type 을 value type 으로 변경하는 것을 Unboxing 이라 한다.

[Swift] Value Type

February 01 2019

Int, Float, Bool, String 과 같은 기본 자료형과 struct, enum 은 Value Type 분류 한다.

[Swift] @escaping

January 03 2019

@escaping 해당 함수의 인자로 클로저가 전달되지만, 함수가 종료되어도 실행 되는 것을 보장한다. 즉 함수의 scope 밖에서 실행이 가능하다.

final

December 07 2018

final 예약어 키워드로 재정의를 방지하여 컴파일 타임에 오류를 방지한다. 다른 클래스가 상속할 수 없는 클래스를 Final 클래스 라고 부른다.

[Swift] copy-on-write

May 03 2018

반드시 복사되어야 하는 경우에만 새로운 복사본을 생성하도록 컴파일러가 최적화한다.