Deep_Dev

πŸ’‘ iOS의 첫 μ‹œμž‘

πŸ“Œ  λ·° 컨트둀러(View Controller) : ν•˜μœ„μ— μžˆλŠ” μ½˜ν…μΈ λ₯Ό κ΄€λ¦¬ν•˜κ³ , λ³΄μ—¬μ£Όκ±°λ‚˜ μˆ¨κΈ°λŠ” λ“±μ˜ ꡬ성을 μ‘°μ •ν•˜λŠ” μ—­ν• 

  •  λ·°μ™€ λ¦¬μ†ŒμŠ€λ₯Ό κ΄€λ¦¬ν•œλ‹€ ( λͺ¨λ“  λ·° μ»¨νŠΈλ‘€λŸ¬λŠ” UIViewController 클래슀λ₯Ό 상속 받아야함 )

 

 

πŸ“Œ   ν”„λ‘œμ νŠΈ ꡬ성과 μŠ€ν† λ¦¬λ³΄λ“œ

  • 클래슀 파일 ( .swift ) : μ•±μ˜ μ†ŒμŠ€ μ½”λ“œ ꡬ성
    • AppDelegate.swift = μ•± μ „μ²΄μ˜ 생λͺ… μ£ΌκΈ° 관리λ₯Ό μœ„μž„λ°›μ€ 객체 
      • μ•± 전체에 μ μš©ν•΄μ•Ό ν•  κΈ°λŠ₯을 λ‹΄λ‹Ήν•˜λŠ” 클래슀둜써, 앱이 μ‹€ν–‰λ˜κ±°λ‚˜ μ’…λ£Œλ  λ•Œ, 그리고 ν™œμ„±ν™” μƒνƒœκ°€ λ˜κ±°λ‚˜ λΉ„ν™œμ„±ν™” μƒνƒœκ°€ 될 λ•Œ, λ°±κ·ΈλΌμš΄λ“œ μƒνƒœλ‘œ λ“€μ–΄κ°€λŠ” λ“±μ˜ λ‹€μ–‘ν•œ μƒνƒœλ³€ν™”λ₯Ό κ°μ§€ν•˜κ³  이에 λŒ€ν•œ 처리λ₯Ό ν•΄μ£Όμ–΄μ•Ό ν•  λ•Œ μ‚¬μš©
    • ViewController.swift = λ·° 컨트둀러λ₯Ό κ΅¬ν˜„ν•œ 클래슀
      • 앱은 ν•˜λ‚˜ μ΄μƒμ˜ 화면을 κ°€μ§€λŠ”λ°, 이λ₯Ό κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λ©°, 일반적으둜 ν™”λ©΄μ˜ 개수만큼 ν•„μš”ν•˜λ‹€.
  • μŠ€ν† λ¦¬λ³΄λ“œ 파일 ( .storyboard ) : μœ μ € μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ’…ν•©μ μœΌλ‘œ κ΅¬ν˜„ν•˜λŠ” μ—­ν• 
    • Main.storyboard = μ•±μ˜ μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€ 섀계 λ‹΄λ‹Ή
    • LaunchScreen.storyboard = μ•± μ‹€ν–‰μ‹œ 처음 λ‚˜νƒ€λ‚˜λŠ” μ‹œμž‘ ν™”λ©΄ ( 'μŠ€ν”Œλž˜μ‹œ Splash' )
    • # μŠ€ν† λ¦¬λ³΄λ“œ νŒŒμΌμ€ μ•ˆλ“œλ‘œμ΄λ“œ xml 방식화면 ꡬ성과 달리, 앱에 μ‚¬μš©λ˜λŠ” μ—¬λŸ¬ 화면을 ν•˜λ‚˜μ˜ νŒŒμΌμ— λͺ¨μ•„ 섀계할 수 μžˆλ„λ‘ μ§€μ›ν•˜λŠ” UI μ„€κ³„μš© 파일 ν˜•μ‹ ( -> μ„œλ‘œ μ—°κ²°λ˜λŠ” μ—¬λŸ¬ 화면이 ν•˜λ‚˜μ˜ μŠ€ν† λ¦¬λ³΄λ“œ 파일둜 κ΅¬μ„±λ˜λŠ” 방식 )

 

 

πŸ“Œ   μŠ€ν† λ¦¬λ³΄λ“œ 이점  

μ•±μ˜ 전체 ꡬ쑰λ₯Ό μ‰½κ²Œ νŒŒμ•…ν•  수 μžˆλ„λ‘ ν‘œν˜„ν•΄μ£ΌλŠ” 것

     1) μ•±μ˜ ν™”λ©΄ 전체와 ν™”λ©΄ 사이 관계λ₯Ό 더 μ‰½κ²Œ νŒŒμ•…ν•  수 μžˆλ‹€.

     2) λ‹€μ–‘ν•œ ν™”λ©΄ μ‚¬μ΄μ˜ μ „ν™˜μ„ μ†μ‰½κ²Œ μ²˜λ¦¬ν•œλ‹€. ( 세그웨이 방식 )

     3) ν…Œμ΄λΈ” λ·°λ₯Ό μž‘μ—…ν•  λ•Œ μƒˆλ‘œμš΄ ν”„λ‘œν† νƒ€μž… μ…€μ΄λ‚˜ 정적인 μ…€μ˜ μ™Έν˜•μ„ λ§Œλ“œλŠ” 것이 쉽닀.

 

- μŠ€ν† λ¦¬λ³΄λ“œ = 씬(Scene)

- ν•˜λ‚˜μ˜ λ·° 컨트둀러 = ν•˜λ‚˜μ˜ ν™”λ©΄ 

- μ—¬λŸ¬κ°œμ˜ λ·° 컨트둀러 = ν•˜λ‚˜μ˜ ν™”λ©΄