๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŽ iOS

UIKit

by hyebin (Helia) 2022. 3. 21.
๋ฐ˜์‘ํ˜•

UIKit ํ”„๋ ˆ์ž„์›Œํฌ๋Š” iOS ๋˜๋Š” tvOS ์•ฑ์— ํ•„์š”ํ•œ ์ธํ”„๋ผ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  1. ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ window์™€ view architecture์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  2. Multi-Touch ๋ฐ ๊ธฐํƒ€ ์œ ํ˜•์˜ ์ž…๋ ฅ์„ ์•ฑ์— ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ์ธํ”„๋ผ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  3. ์‚ฌ์šฉ์ž, ์‹œ์Šคํ…œ ๋ฐ ์•ฑ ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๊ธฐ๋ณธ ์‹คํ–‰ ๋ฃจํ”„๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ ๋ฐ–์—, UIKit ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ๋“ค์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • ์• ๋‹ˆ๋ฉ”์ด์…˜
  • ๋ฌธ์„œ
  • ๊ทธ๋ฆฌ๊ธฐ
  • printing
  • ์‚ฌ์šฉ์ค‘์ธ ๊ธฐ๊ธฐ ์ •๋ณด
  • ํ…์ŠคํŠธ ๊ด€๋ฆฌ ๋ฐ ํ‘œ์‹œ
  • ๊ฒ€์ƒ‰
  • ์ ‘๊ทผ์„ฑ
  • ์•ฑ ํ™•์žฅ
  • ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ
๋ณ„ ๋‹ค๋ฅธ ๋ช…์‹œ์‚ฌํ•ญ์ด ์—†๋‹ค๋ฉด, UIKit์— ํฌํ•จ๋œ ํด๋ž˜์Šค๋“ค์„ ์•ฑ์˜ main thread ํ˜น์€ main dispatch queue์—์„œ๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.
์ด ์ œํ•œ์€ UIResponder์—์„œ ํŒŒ์ƒ๋œ ํด๋ž˜์Šค๋“ค ํ˜น์€ ์•ฑ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ๊ฒƒ๋“ค์— ํŠนํžˆ ์ ์šฉ๋œ๋‹ค.

 

 

UIKit ์•ฑ์˜ ์ฝ”๋“œ ๊ตฌ์กฐ

UIKit์€ ์‹œ์Šคํ…œ๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•˜๊ณ  ์•ฑ์˜ Main Event Loop๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ฝ˜ํ…์ธ ๋ฅผ ํ™”๋ฉด์— ํ‘œ์‹œํ•˜๋Š” ๋“ฑ ๋งŽ์€ Object๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

UIKit ์•ฑ์˜ ๊ตฌ์กฐ๋Š” MVC(Model-View-Controller) ๋””์ž์ธ ํŒจํ„ด์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ๊ฐ์ฒด๋Š” ๋ชฉ์ ์— ๋”ฐ๋ผ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค.

  • Model: ์•ฑ์˜ ๋ฐ์ดํ„ฐ์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๊ด€๋ฆฌ
  • View: ๋ฐ์ดํ„ฐ์˜ ์‹œ์ž‘์  ํ‘œํ˜„ ์ œ๊ณต
  • Controller: model ๊ณผ view ์‚ฌ์ด์˜ ๋‹ค๋ฆฌ ์—ญํ• ์„ ํ•˜์—ฌ ์ ์ ˆํ•œ ๋•Œ์— ๋ฐ์ดํ„ฐ ์ด๋™

 

๋ฐ˜์‘ํ˜•

'๐ŸŽ iOS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[UIKit] UIView(3)  (0) 2022.03.30
[UIKit] UIView(2)  (0) 2022.03.28
[UIKit] UIView(1)  (0) 2022.03.25
[UIKit] UIApplication  (0) 2022.03.24
[UIKit] ์•ฑ์˜ ๋ผ์ดํ”„ ์‚ฌ์ดํด  (0) 2022.03.22