[iOS/Point-Free] 동시성 프로그래밍의 과거 - 스레드
·
iOS/Swift
다음 내용은 Point-Free의 Concurrency 강의를 듣고 정리한 내용입니다!https://www.pointfree.co/episodes/ep190-concurrency-s-past-threads Episode #190: Concurrency's Past: ThreadsTo better understand Swift’s concurrency tools, let’s first look to the past, starting with threads. Threads are a tool most developers don’t reach for these days, but are important to understand, and the way they solve problems reverberate e..
[iOS/Swift] 인앱에서 앱스토어 리뷰 팝업 띄우기
·
iOS/Swift
인앱리뷰최대 3번 노출 가능리뷰 요청을 자주 띄우는 것은 오히려 사용자에게 부정적 인식을 가져다 줄 수 있기 때문에 요청의 텀을 충분히 줘야한다.그렇기 때문에 시스템 내부적으로 365일 내에 최대 3번만 노출되도록 제한이 되어있다.시스템에서 팝업 노출을 제한하기 때문에 리뷰 팝업을 띄우는 코드가 심어져있다고 무조건 팝업이 뜨는 것은 아니다!단, 시스템에서 제어하는 경우는 앱스토어에 릴리즈 된 앱의 경우에만 해당된다. 디버그 모드에서는 리뷰 팝업이 설계한 대로 무조건 노출되고, 테스트플라이트에서는 노출되지 않는다.적절한 타이밍에 노출해야 한다.리뷰 요청 팝업을 띄울 때는 적절한 타이밍을 찾아야한다.앱에 진입하자마자 또는 온보딩 과정은 적절하지 않은 타이밍이다. 사용자가 앱에 대해 충분한 사용 경험이 없기 ..
[Swift] Swift Concurrency async / await
·
iOS/Swift
GCD (Grand Centeral Dispatch)일반적으로 네트워크 통신을 할 때 우리는 비동기적으로 코드를 작성한다.다음과 같이 비동기적으로 요청을 하여 응답 결과를 call back 받기 위해 completion handler를 통해 받아오고, 받아온 데이터를 화면에 반영한다.func fetchThumbnailURLSession(completion: @escaping (Result) -> Void) { let url = URL(string: "https://www.themoviedb.org/t/p/w600_and_h900_bestv2/7M2pc9OboapgtoBbkU49Aim7O5B.jpg")! let request = URLRequest(url: url, cachePolicy: .re..
[Swift] DI 의존성 주입
·
iOS/Swift
[23.12.12 SeSAC 수업 내용 정리]의존성 주입 쉽게 이해하기!브랜 주방장이 브랜 반점이라는 음식점을 열었고, 휴님은 점심 식사로 브랜 반점의 메뉴를 먹는다.휴님 → 브랜반점 의존관계브랜반점 → 브랜 의존관계 하위 모듈인 브랜반점에서 메서드 이름을 변경하는 순간 상위 모듈인 휴님 클래스에서 오류가 발생한다. 하위 모듈인 브랜 클래스에서 메서드 변경 시 브랜 클래스를 사용하고 있는 모든 클래스에서 오류가 발생한다.오류를 해결하기 위해 해당 클래스를 사용하고 있는 상위 모듈에서 변경 사항을 수정해야 한다.B가 변화했을 때, A에게 영향을 미친다. ⇒ A가 B를 의존한다. 상위 모듈에서 의존하는 인스턴스를 변경했을 때 상위 모듈 내부에서 오류가 발생한다.휴님(상위 모듈) → 브랜반점(하위모듈) 형태로..