Skip to content

๐Ÿ“ฑ iOS ๋ฉ˜ํ† ๋‹˜๊ณผ์˜ ๋งŒ๋‚จ

fElix edited this page Dec 3, 2020 · 2 revisions

2020๋…„ 12์›” 3์ผ

  • ์ง€๊ธˆ๊นŒ์ง€ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„๋๋‚˜ (์‹œ์—ฐ)

  • ๊ตฌํ˜„ํ•˜๋ฉด์„œ ํŠน๋ณ„ํžˆ ํž˜์ค€ ๋ถ€๋ถ„์ด ์–ด๋”˜๊ฐ€

    • ์ฝ”๋“œ ๋ชจ๋“ˆํ™”: ๋ทฐ์˜ ์†์„ฑ๋“ค์„ ์ ์šฉํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋ถ„๋ฆฌํ•˜๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ์ฝ”๋“œ ์ปจ๋ฒค์…˜: ์ฃผ๊ธฐ์ ์œผ๋กœ ํŽ˜์–ดํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ†ตํ•ด ๋ฆฌํŒฉํ† ๋งํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ์Šต๋‹ˆ๋‹ค
    • ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ๋กœ ์งœ๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค.
      1. ์˜์กด์„ฑ ์—ญ์ „ ์›์น™ + ์ฃผ์ž…
      2. ์—ญํ•  ๋ถ„๋ฆฌ(๋‹จ์ผ ์ฑ…์ž„ ์›์น™)
        1. ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ๋กœ์ง์€ Coordinator
        2. ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์€ ViewModel
        3. UI ๋กœ์ง์€ ViewController
  • ์•ž์œผ๋กœ ๋‚จ์€ ๋ถ€๋ถ„, ๊ณ„ํš, ์–ด๋ ค์šด ์ /๋ง‰ํ˜€์žˆ๋Š” ๋ถ€๋ถ„์€ ๋ญ”๊ฐ€

    • ๊ณ„ํš
      • HIG: accessibility
      • WidgetKit
      • PushKit
      • ์˜คํ”„๋ผ์ธ ๊ธฐ๋Šฅ: Realm
    • ์–ด๋ ค์šด ์  / ๋ง‰ํ˜€์žˆ๋Š” ๋ถ€๋ถ„
      • ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ: ViewModel ์„ ์ œ๋Œ€๋กœ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•
      • API ํ˜ธ์ถœ ์‹œ์ 
        1. ์—…๋ฐ์ดํŠธAPI๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ๋กœ์ปฌ์—์„œ๋งŒ ๋ฐ”๊ฟ”์ฃผ๊ณ  detailcard๋ฅผ ๋‚˜๊ฐ„ ํ›„ ๋‹ค์‹œ ๋“ค์–ด์˜ค๋ฉด fetch
        2. ์—…๋ฐ์ดํŠธAPI๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  detailcard์˜ viewWillappear์—์„œ ๋‹ค์‹œ fetch
    • Apple OAuth
      • ๊ฐœ๋ฐœ์ž ๊ณ„์ •๊ณผ ๊ด€๋ จํ•˜์—ฌ...(๋ฎ์–ด๋‘๋Š”๊ฑธ๋กœ..)
  • ์ฝ”๋“œ ๋ ˆ๋ฒจ์—์„œ ๊ผญ ํ”ผ๋“œ๋ฐฑ ๋ฐ›๊ณ  ์‹ถ์—ˆ๋˜ ๋ถ€๋ถ„์€ ์–ด๋”˜๊ฐ€

    • view๊ฐ€ CollectionView๋ฅผ ๊ฐ–๋Š” ๊ฒƒ์— ๋Œ€ํ•ด(DataSource, Delegate ํฌํ•จ)

    • DataSource ๋ฅผ ์„œ๋ธŒํด๋ž˜์‹ฑํ•ด์„œ DataSource ์˜ ๋ฉ”์†Œ๋“œ(numberOfItemsInSection, cellForItemAt) ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„๊นŒ์š” ?

    • shadowOffset ์“ฐ๋ฉด UI Debugging ํ•  ๋•Œ ๋น„ํšจ์œจ์ ์ด๋ผ๋Š” ๊ฒฝ๊ณ ์ฐฝ์ด ๋‚˜์˜ค๋Š”๋ฐ shadowPath ๋ฅผ ์“ฐ๋Š” ๊ฒƒ์ด ์ข‹์„๊นŒ์š” ?

๋Œ“๊ธ€์ฐฝ safe layout guide ๋‚ด์šฉ ์ˆ˜์ •ํ•˜๋Š” ๋ถ€๋ถ„ ํƒ€์ดํ‹€(์–ด๋Š ํ™”๋ฉด์ธ์ง€์— ๋Œ€ํ•œ ๊ฐ€์ด๋“œ) ์ด๋ฏธ์ง€ ์บ์‹œ(NSCache) ๋กœ์ปฌ์—์„œ ์šฐ์„  ๊ฐฑ์‹ ํ•˜๊ธฐ (์ผ๋ฐ˜์ ์œผ๋กœ๋Š” Update ๋œ ๊ฒฐ๊ณผ๋ฌผ์ด ๋„˜์–ด์˜จ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค)

์• ํ”Œ ๋กœ๊ทธ์ธ์€ ๋ฎ์–ด๋‘๋Š”๊ฑธ๋กœ...

์„œ๋น„์Šค๋‹จ์—์„œ viewmodel ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋„˜๊ฒจ์ค„ ๋•Œ viewmodel ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒฐ๊ณผ๊ฐ’์— ๋Œ€ํ•ด์„œ ํ…Œ์ŠคํŠธ

์„œ๋น„์Šค๋‹จ์„ ๋ชจํ‚นํ•ด์„œ ๊ฐ€์ƒ์˜ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์ฃผ์ž…ํ•ด์ฃผ์—ˆ์„ ๋•Œ ๋ทฐ๋ชจ๋ธ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. (Mock Service ๋ฅผ ๋งŒ๋“œ๋Š”๊ฒŒ ํฌ์ธํŠธ)

์˜คํ”ˆ์†Œ์Šค ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ธฐ์žฌํ•˜๋Š”๊ฒŒ ๋ณ„๋„๋กœ ์žˆ์–ด์„œ ์ ์–ด์ค€๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. (๋ฌผ๋ก  ์†Œ์Šค์ฝ”๋“œ๊ฐ€ ์žˆ๋Š” ํŒŒ์ผ ๋‚ด๋ถ€์— ๊ธฐ์žฌํ•  ํ•„์š”๋Š” ์—†๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.)

์งˆ๋ฌธ์‚ฌํ•ญ ์žˆ์œผ๋ฉด PR ์— ํƒœ๊น…

์ •์ ์ธ ๊ฐ’์— ๋Œ€ํ•ด์„œ๋Š” ์ƒ์ˆ˜(let)ํ™” ์‹œํ‚ค๊ธฐ

๐ŸŽฏ ๊ณ„ํš


๐Ÿค ๊ทœ์น™


๐Ÿ‘ฉโ€๐ŸŽจ ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ


๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ฆ ๋ฉ˜ํ† ๋‹˜๊ณผ์˜ ๋งŒ๋‚จ


๐Ÿ“œ ํ† ๋ก ๊ฑฐ๋ฆฌ


๐Ÿ“œ ๊ฐœ๋ฐœ ๋ฌธ์„œ


๐Ÿ’Ž ๊ธฐ์ˆ  ํŠน์žฅ์ 


๐Ÿƒโ€โ™‚๏ธ ์Šคํ”„๋ฆฐํŠธ ํšŒ์˜ / ํšŒ๊ณ 


๐Ÿ‰ ๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ


Clone this wiki locally