티스토리 뷰

TIL

[TIL] 2022 / 08 / 06

희철 2022. 8. 6. 19:08

TMDB 프로젝트

 

 

 

코드 수정(네트워킹 로직 분리, UI로직 메인 스레드, 고차함수 활용)

-> 따로 글쓰기

 

 

 

 

로또 프로젝트

 

 

 

가장 최근 회차가 나오게 날짜 계산

 

 

1회 날짜인 2002-12-07을 기준으로 오늘 날짜와 차이 구함.

86400으로 나눠서 며칠이 차이나는지 계산 후, 다시 7(일주일)로 나눠서 회차를 구함.

 

 

 

UserDefaults로 네트워킹 최대한 적게

 

 

회차를 키로 7개의 번호와 날짜가 담긴 배열을 값으로 갖게 저장

가장 처음에 최근 회차로 뜸.

 

1026,1025는 이미 열어봐서 저장이 돼있는 상태

-> 있는 경우엔 네트워크 통신을 안하고, 값이 없는 상태일때만 네트워크 통신을 해서 json데이터를 가져오는 것을 확인할 수 있음.

 

 

 

Alamofire

 

 

queue에 아무 값도 입력하지 않으면 메인스레드에서 네트워크 통신을 진행함.

 

밖에 DispatchQueue.global().async로 덮어주어도 AF구문에 들어가면 디폴트값으로 메인스레드에서 진행하게 되어있으므로 UI를 바꾸는 코드에서 오류가 뜨지 않음.

 

현재 fetchMovieData에서 queue의 디폴트값은 메인으로 설정해둔 상태임

-> 그래서 collectionView쪽을 리로드할때 오류가 안남

 

아래처럼 코드를 작성하면 2일때만 false이고 바로 AF구문으로 들어가기때문에 3에서는 true가 뜰 것임.

 

그리고 4에서는 global 안에 있고 AF구문이 끝난 상태이므로 false일 것이다.

또한 global은 비동기적으로 처리하는 구문이므로 네트워킹을 하고있어도 코드가 진행되어 3보다 4가 먼저 뜨게 됨.

 

 

 

고차함수

-> 공부중

 

 

클로저

-> 공부중

 

'TIL' 카테고리의 다른 글

[TIL] 2022 / 08 / 10  (0) 2022.08.11
[TIL] 2022 / 08 / 08  (0) 2022.08.09
[TIL] 2022 / 08 / 05  (0) 2022.08.06
[TIL] 2022 / 08 / 04 (TMDB 프로젝트)  (0) 2022.08.05
[TIL] 2022 / 08 / 03  (0) 2022.08.04
댓글
최근에 올라온 글
Total
Today
Yesterday