본문 바로가기
짤막 TlL

반복주의(Cell 재사용, while)

by 방우 2022. 8. 4.

블로그는 마음 한켠에 항상..있다.....

컴포즈커피 사장님은 내 텀블러를 받을 준비를 내가 꺼내기 전부터 하신다 ㅎ,ㅎ

개인적으로 커피빈 커피가 제일 맛난당

 

오늘은 주의할 사항인데,

흠 반복문이나 재사용은 알아서 정보 전체에 대해 반복되는 작업을 해준다

자꾸 편해서 쓰다보면 불필요한 작업을 배제하는 걸 잊어버린다

-> 반복문을 왜 쓰는지 생각하자.


서버통신을 배우고 있는데, 서버통신은 데이터를 매 번 요청해야하는 부분, 일일 제한 요청 횟수, 회당 요청 횟수 등 제한사항이 있다. 또한 반복적인 요청이 있다면 당연히 속도가 느려질 수 밖에 없다.

 

나는 아래 코드를 작성할 때 Cell에서 반영되는 부분이라 Cell파일에 서버통신을 구현해줬다.

그럼 문제는?

한개의 셀이면 상관없을 것 같다. 그럼 컬렉션뷰를 왜쓰남?

셀을 재사용할 때 아래의 코드는 문제가 된다.

예를 들어 cellCount = 30을 걸어줬을 때 한 셀마다 서버통신을 할 것이고? 정보가 많고 무거울수록 통신이 느려질 것이다.

정보가 500개라면 나는 스크롤링 할 때마다 30 * 500번 같은 정보를 받아와야한다. 

 

차라리 고정적으로 심지어 자주 사용하는 정보는, 서버통신을 한 번하고 변수 내부에 정보를 담는 것이 효율적일 것 같다.

->  list배열에 이미지url을 담아서 사용하는 걸로 교체


다음은 while문이다. 

(수정중 이라 해당 코드도 깃헙에서 가져옵니다...)

 

아래의 문제점은 whilte문이 하나의 값이 들어올 때 false가 나올 때까지 반복문을 돈다는 것

1번 1026돌고 countDay + 1, 2번 1026돌고 countDay + 1 ... 그럼 1026 * 1026번 반복문을 돌게된다.

 

timeIntervalSince -> 이걸로 해결해보려고한다.(아래처럼 Calendar를 쓰는 것이 국가별 시간을 반영하고, 초단위로 끊지 않아 더 권장한다고한다. 하지만 난 timeIntervalSince를 써보려고한다~)


 

'짤막 TlL' 카테고리의 다른 글

toggle()  (0) 2022.08.15
킹피셔 말고 이미지에 url담기  (0) 2022.08.09
identifier 편하게 쓰기(feat. 메타타입)  (0) 2022.08.01
NSTextAttachment  (0) 2022.07.30
TextView Placeholder  (0) 2022.07.30