2023/10/18 TIL

고영민·2023년 10월 17일

GeoLocation 예제 코드 보며, API Service를 싱글톤으로 가져와서 사용하는 것을 실습해봤당.

싱글톤 개념

  • 인스턴스를 한 번 만든 후, 전역에서 다 사용가능하게 하는 거.
  • 그러기 위해서, static 키워드와 init(){} 을 통해서 내부구현을 해놓을 수 있음.

위의 실사례에선, Service 에 해당하는 로직을 넣어야하므로 init(){} 내부구현을 해놓았음.

예외처리까지 castOfThrow로 잘 해주고 있음. 굳굳👍

`드라이버`

옵져버블에 조금 더 가미된

Driver - 콩: 메인스레드, share(1)이 패시브로 세팅되어있는

연산자인 .deffered

.deffered (잠깐 막아둿다가 구독할떄마다 봐야할 떄 얘를 쓴다 ) 

이벤트가 온 시점에 만들어서 보내주는 것

생성해서 보내주는 것

Proxy Class ⇒ Delegate가 Rx넘어가면서 이 역할을 대행해줄 녀석을 만들어 놓은거임 RxCocoa에서.

casetOFThrow 

→ RxCocoa 에러가 발생 시 castOfThrow가 에러를 알리는 역할을해줌.

싱글톤 클래스를 가져옴 (네트워크 부분에서 Service에 해당하는 부분)

앨런부캠 스터디 2주차 복습함. (그중에서 다시금 복습할겸)

inout : 지역변수 내에서 전역변수 수정하고플때.

& 앰퍼샌드 쓰는경우 위의 경우라고 보면됨.

@availiable 특정 버전 이상에서 사용 가능한 API를 지정하거나, 특정 플랫폼에서 사용 가능한 API를 지정합니다.

@escaping 클로저가 함수의 스코프를 벗어나서 호출될 수 있음을 나타냅니다. 일반적으로 비동기 작업에서 사용됩니다.

@discardableResult 함수의 반환 값을 무시해도 된다는 것을 나타냅니다. 주로 반환 값이 있는 함수에서 사용되며, 반환 값이 사용되지 않아도 컴파일러 경고를 발생시키지 않습니다.

@옵셔널체이닝 옵셔널 값이 있는 경우에만 속성이나 메서드에 접근하려고 할 때 사용됩니다. 값이 없으면 연산이 중단되고 nil을 반환합니다.

@fallthrough Swift의 switch 문에서 사용되며, 특정 case에서 다음 case로 넘어갈 때 사용됩니다. 일반적으로 조건문이 없는 경우 사용됩니다.

옵셔널 체이닝의 경우, Enum열거형에서 옵셔널 바인딩 과정에 nil 벗기는 두 번의 과정을 줄이고자, 옵셔널 체이닝 쓰는 게 인상깊었음.

이거시 옵셔널 패턴 이다.

알고리즘도 2틀간, 8문제 풀었다^_^

profile
iOS Developer 나의 언어로 기술을 기록하기

0개의 댓글