[Swift] async await로 Google 서버 시간 가져오기
오늘은 Swift로 작성된 GoogleServerTimeService 클래스를 작성했다. 이 코드는 Google 서버의 현재 시간을 가져오는 기능을 간단하게 구현했다.
오늘은 Swift로 작성된 GoogleServerTimeService 클래스를 작성했다. 이 코드는 Google 서버의 현재 시간을 가져오는 기능을 간단하게 구현했다.
magnitude, abs는 절대값으로 리턴하는 API
Device - 설정 - 날짜 및 시간에 설정에 따라 Date를 보여줘야하는 요구사항을 받았다. DateFormatter를 사용하면 이를 해결 가능하다.
as의 종류를 간단히 정리해보자.
수학과 컴퓨터 과학에서 커링(currying)이란 다중 인수 (혹은 여러 인수의 튜플)을 갖는 함수를 단일 인수를 갖는 함수들의 함수열로 바꾸는 것을 말한다. 모지즈 쇤핑클에 의해 도입되었고, 이후 해스켈 커리에 의해 발전하였다.
@autoclosure속성을 사용하면 클로저에 자동으로 래핑되는 인수를 정의할 수 있다. 일반 구문을 인자값으로 넣어도 컴파일러가 알아서 클로저로 만들어서 사용한다.
Javascript, kotlin, google-promises 등 그 동안 다른 언어에서 제공되던 기능이 Swift 5.5 에 강력하게 들어왔다. 비동기 프로그래밍은 그동안 delegate 패턴이나, closur 를 통해 해왔다면 앞으로는 async, await 를 통한 동기 프...
Reference type 이다. 스레드의 모델(MVVM 처럼 뷰-뷰모델을 만드는 것과 유사하다)
Set은 정의된 순서 없이 collection에 동일한 Type의 고유한 값을 저장한다. 항목의 순서가 중요하지 않거나 항목이 한 번만 표시되도록 해야 하는 경우 array 대신 Set을 사용할 수 있다.
Collections 의 함수 사용 시 성능 고려하기
Value type 이다. @frozen public struct Dictionary<Key, Value> where Key : Hashable
Value type 이다. @frozen public struct Array<Element>
Swift Package Manager(SPM)는 프로젝트의 의존성 관리 및 패키지 빌드를 자동화하는 공식 Swift 패키지 매니저이다. SPM은 프로젝트에서 사용하는 모든 의존성을 정의하고, 패키지의 종속성 관리를 담당한다.
변수나 리터럴, 표현식 등 조합으로 새로운 문자열을 구성하는 것을 String Interpolation 이라 한다. 문자열 형식 지정 방법 및 함수에서 지원하는 형식 지정자를 요약한다.
Perform string transliteration.
ComparisonResult 를 사용하여 문자열을 비교한다.
value type 을 reference type 으로 변경하는 것을 Boxing, reference type 을 value type 으로 변경하는 것을 Unboxing 이라 한다.
Int, Float, Bool, String 과 같은 기본 자료형과 struct, enum 은 Value Type 분류 한다.
Class, Closer 는 Reference Type 으로 분류한다.
@escaping 해당 함수의 인자로 클로저가 전달되지만, 함수가 종료되어도 실행 되는 것을 보장한다. 즉 함수의 scope 밖에서 실행이 가능하다.
final 예약어 키워드로 재정의를 방지하여 컴파일 타임에 오류를 방지한다. 다른 클래스가 상속할 수 없는 클래스를 Final 클래스 라고 부른다.
반드시 복사되어야 하는 경우에만 새로운 복사본을 생성하도록 컴파일러가 최적화한다.