๊ธ€ ์ž‘์„ฑ์ž: ๊ฐœ๋ฐœํ•˜๋Š” ํ›ˆ์ด

2021.09.12 ์˜ค๋Š˜์˜ ๋ฐฐ์›€

์˜ค๋Š˜ ํ•œ ์ผ.

  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€๊ธฐ 
  • ๋””์ž์ธ ํŒจํ„ด ์ •๋ฆฌํ•˜๊ธฐ

์˜ค๋Š˜ ์ƒˆ๋กœ ๋ฐœ๊ฒฌํ•œ ๊ฒƒ.

  • ์˜ต์ €๋ฒ„ํŒจํ„ด์€ 1:N ๊ด€๊ณ„์—์„œ ์‚ฌ์šฉํ•œ๋‹ค.
  • iOS์—์„œ๋Š” ์˜ต์ €๋ฒ„ ํŒจํ„ด๊ณผ ์œ ์‚ฌํ•œ NotificationCenter๊ฐ€ ์žˆ์ง€๋งŒ 1:1 ๊ด€๊ณ„์—์„œ๋Š” ๋Œ€์‹  Delegate ํŒจํ„ด์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๋ฐฐ์—ด์—์„œ ๋งˆ์ง€๋ง‰ ์š”์†Œ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์š”์†Œ๋“ค(์ฒซ๋ฒˆ์งธ ํฌํ•จ)์€ ๋ชจ๋‘ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ O(N)์ด๋‹ค. ๊ทธ๋ž˜์„œ Array ์ฝœ๋ ‰์…˜์—์„œ removeFirst() ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•˜์ง€๋งŒ ํ๋ผ๊ณ  ํ•  ์ˆ˜๋Š” ์—†๋‹ค.
  • Swift 5.5์—์„œ๋Š” Collections๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ๋‹ค! ํ, ํž™, ๋“ฑ ์œ ์šฉํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•œ๋‹ค! ๋ฌผ๋ก  PS๋ฅผ ํ•  ๋•Œ๋Š” ์ง์ ‘ ๋งŒ๋“ค์–ด์•ผํ•œ๋‹คใ… 

์˜ค๋Š˜ ๋Š๋‚€ ๊ฒƒ.

  • ์Šค์œ„ํ”„ํŠธ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ‘ธ๋Š” ๊ฒƒ์— ๋Œ€ํ•ด์„œ ์•„์ง ์˜๊ตฌ์‹ฌ์ด ์กฐ๊ธˆ์€ ์žˆ๋‹ค. ์•„๋ฌด๋ž˜๋„ ์Šค์œ„ํ”„ํŠธ๋ฅผ ์ง€์›ํ•˜๋Š” ํšŒ์‚ฌ๊ฐ€ ์—†์„ ๋•Œ๊ฐ€ ๋งŽ๋‹ค๋ณด๋‹ˆ.. ๊ทธ๋ž˜๋„ ์ด์ œ ๋ฌด์กฐ๊ฑด iOS์ง๋ฌด๋งŒ ์ง€์›ํ•˜๋ ค๊ณ ํ•ด์„œ ๊ดœ์ฐฎ์ง€ ์•Š์„๊นŒ ์ƒ๊ฐ์ค‘์ด๋‹ค.

์•ž์œผ๋กœ์˜ ๊ณ„ํš.

  • PanGesture ์ •๋ฆฌ๋ฅผ ๋ชปํ–ˆ๋‹ค. ๋‹ค์Œ์ฃผ์— ์ •๋ฆฌํ•˜์ž.
  • ์šด์˜์ฒด์ œ๋ž‘ ๋„คํŠธ์›Œํฌ๋ฅผ ๋‹ค์‹œ ์ข€ ํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์ด ๋‚ ์ง€ ๋ชจ๋ฅด๊ณ˜๋‹ค..

์˜ค๋Š˜์˜ ๊ฐ์‚ฌ.

  • ์ž˜ ํšŒ๋ณตํ•˜๋Š” ์ฃผ๋ง์„ ์ฃผ์‹ฌ์— ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!