iOS/iOS SeSAC 2기 TIL

TMDB Project 과제 8.4 수업 중 피드백

Developer-Michelle 2022. 8. 4. 09:13

1. 이미지 안 나옴

string -> url -> imageview로 사진을 보여줌

여기서 url -> imageview로 바꿔주는거 : 네트워크 통신.

=> 이걸 쉽게 해결해주는 라이브러리: kingfisher 

 

url 매개변수를 kingfisher에 넣어주어야 함.

 

1-2. url 고유한 형태가 맞는가에 대한 검증

TMDB 이미지 주소:

http://tmdb.co.kr/---------

앞쪽에 http://tmdb.co.kr을 앞에 직접 달았어야 함. 

 

굳이 똑같은 정보를 계속해서 넣을 필요x

나중에 처리 쉽게하기 위해서

앞에 http://~~를 생략해놓은 것일 수 있다.

 

따라서,  response값을 잘 봐야 하고 잘 조합시켜야 함.

 

2. 이미지 변환 시점

 

셀에서 URL, UIImage 변환을 할 것인지,

or 서버통신 받는 지점에서 URL, UIImage 변환을 할 것인지?

 

원래 var list: [String] = []로 했었는데..

 

var list: [URL] = [] 로 해놓고

 

위와 같이 처음에 이미지 처리를 해서 CellForRowAt에서 하는 처리를 조금 더 줄일 수 있는 방법도 있다.

 

(근데 위 방법 별루. 물론 케바케로 쓸 경우도 있을듯 ex)이미지 용량이 작은 경우)

 

* 용량이 굉장히 큰 이미지를 다운 받을 때??

셀에서 URL, UIImage 변환을 할 것인지, => 스크롤 많다면 여기가 적합할 듯 var list: [String] = []

or 서버통신 받는 지점에서 URL, UIImage 변환을 할 것인지? => 시간 오래 걸림.(반복문에서) =>이 경우라면 일단 아무것도 안보였다가 최악의 경우 4초 뒤에 갑자기 확 모든 이미지들이 뜰 수 있다. 

 

 

3. 장르

장르를 id로 주는 경우 (장르에 대한 명칭이 바뀔 경우를 대비해서 이렇게 숫자로 해놓은듯)

 

"genre_ids": [
28,
53
],

 

첫번째 방법) 네트워크통신 2번 해야

MovieResponse -> [Int] -> genre call => data

 

두번째 방법) 장르는 추가/변경되지 않음 왠만하면.

서버통신을 했을 때 response는 항상 일정하게 옴

딕셔너리 형태로 만들어 Xcode내에 넣는 방법. (서버 통신하지 않게)