[iOS] prepareForReuse๋ž€?

์ €๋„ ํ•„์š”์— ๋”ฐ๋ผ prepareForReuse๋ฅผ ์ž˜ ์“ฐ๊ณ  ์žˆ๋Š”๋ฐ์š”, ์ง€๋‚œ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŒ…์—์„œ๋„ ๋ช‡ ๋ฒˆ ์–ธ๊ธ‰์„ ํ–ˆ์—ˆ์–ด์š”. 1. [Rx] Resuable Cell์˜ ํ”์ ์ด ๋‚จ๋Š”๋‹ค [๋ฐ”๋กœ๊ฐ€๊ธฐ] 2. [Toy] collectionview์˜ cell์ด ์—…๋ฐ์ดํŠธ๊ฐ€ ์ž˜ ์•ˆ๋œ๋‹ค [๋ฐ”๋กœ๊ฐ€๊ธฐ] ์ œ๋ชฉ์—์„œ๋„ ๋‘ ๊ธ€์˜ ๊ณตํ†ต์ ์ด ๋ณด์ด์ง€ ์•Š๋‚˜์š”?ใ…Žใ…Ž ์ฒซ ๋ฒˆ์งธ๋Š” UIScrollView๋ฅผ ์ƒ์†ํ•˜๋Š” view๋“ค์˜ cell๊ณผ ๊ด€๋ จ ๋œ ์ด์•ผ๊ธฐ๋ผ๋Š” ๊ฒƒ(UITableView, UICollectionView)์ด๊ณ  ๋‘ ๋ฒˆ์งธ๋Š” ๋ณ€ํ™”์— ๋Œ€ํ•œ ๋Œ€์‘์ด ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ์ˆœ๊ฐ„๋“ค์ด์ฃ . ์žฌ์‚ฌ์šฉ ๋˜๋Š” cell์„ dequeue ํ•  ๋•Œ ์ด์ „์— ์‚ฌ์šฉ ๋˜์—ˆ๋˜ ํ”์ ์ด ๋‚จ์„ ๋•Œ prepareForReuse๋ฅผ ํ†ตํ•ด ํ•ด๊ฒฐ์„ ํ•˜๊ณค ํ–ˆ๋Š”๋ฐ์š”, ์ •ํ™•ํžˆ ์–ด๋– ํ•œ ์ด์œ ๋กœ, ์–ด๋–ค ๋ชฉ์ ์„ ์œ„ํ•ด ๋งŒ..

iOS 2021. 10. 19. 03:30
MVC์—์„œ MVP๋ฅผ ๊ฑฐ์ณ MVVM๊นŒ์ง€

๋ˆ„๊ตฐ๊ฐ€ ์ œ๊ฒŒ MVC, MVP, MVVM ๊ฐ๊ฐ์— ๋Œ€ํ•ด ์„ค๋ช…์„ ํ•ด๋ณด๋ผ๊ณ  ํ•œ๋‹ค๋ฉด ์–ด๋ ดํ’‹์ด ์„ค๋ช…์€ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด์š”. ๊ทธ๋Ÿฐ๋ฐ ์•„๋งˆ ๊ฐ ๊ฐ์ฒด์˜ ์—ญํ• ๊ณผ ๊ด€๊ณ„ ์ •๋„๋งŒ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋”๋ผ๊ตฌ์š”. ๊ทธ๋ž˜์„œ ์ œ๊ฐ€ ๋‚˜๋ฆ„ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ดํŠธ, ๊ฐœ๋ฐœ์ž ๋ถ„๋“ค์˜ ๊ธ€๊ณผ ์˜์ƒ์„ ์š”์•ฝํ•ด์„œ MVC, MVP, MVVM์˜ ํŠน์ง•์— ๋Œ€ํ•ด ์š”์•ฝํ•ด ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. MVC VIEW CONTROLLER MODEL ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๋ฐ›์Œ view๊ฐ€ ๋ฐ›์€ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์œผ๋กœ model ์—…๋ฐ์ดํŠธ, ์—…๋ฐ์ดํŠธ ๋œ ๋ชจ๋ธ๋กœ view๋ฅผ ์—…๋ฐ์ดํŠธ data์™€ ๊ด€๋ จ ์ด์ƒ์ ์ธ ๋ฐฉ์‹์€ delegation pattern์„ ์‚ฌ์šฉํ•œ view์™€ model์˜ ์ค‘๊ฐ„ ๋‹ค๋ฆฌ ์—ญํ•  (ex. UITableView์˜ UITableViewDataSource) [ex] persist..

CS/๊ธฐํƒ€ 2021. 10. 19. 03:07