Cocoa Touch, UIKit, Foundation - iOS μ± κ°λ°μ νμν νλ μμν¬
1μ₯μμ μμ μ¬μ μ±μ λ§λ€λ©΄μ μλμ λ΄μ©λ€μ νμ΅νμ΅λλ€.
- μμ (Asset) - μ± μμ΄μ½, μ΄λ―Έμ§ νμΌ, λ°μ΄ν° νμΌμ κ΄λ¦¬, μ± μ€νμ νμΌμ μ½κ² μ κ·Όν μ μλλ‘ λμμ€λ€.
- μ± μλ(App thinning)κ³Ό μ± μ¬λΌμ΄μ±(App slicing) - λ€μν λλ°μ΄μ€μμ λΉ λ₯΄κ² λ€μ΄λ‘λν μ μλλ‘ νλ μ΅μ ν κΈ°μ
- Cocoa Touch, UIKit, Foundation - iOS μ± κ°λ°μ νμν νλ μμν¬
- UI λ₯Ό κ°λ°νκ³ Autolayout μ μ μ©νλ λ°©λ² - μΈν°νμ΄μ€ λΉλ vs μ½λλ‘ μμ±
- iOSμ View μ²΄κ³ - λ·° κ³μΈ΅, λ·°μ μ’ν, νλ μ vs λ°μ΄λ, λ·° κ³μΈ΅ λλ²κΉ ν΄
- λμμΈ ν¨ν΄κ³Ό MVC ν¨ν΄ - μ±κΈν΄ ν¨ν΄κ³Ό μ±κ°λ°μμμ MVC ν¨ν΄μ μ€μ μ μΌλ‘
- AVAudioPlayer, Timer - μμ νμΌμ μ¬μνκΈ° μν AVAudioPlayer, μκ°μ΄λ₯Ό μ¬κΈ° μν Timer
π‘ Cocoa Touch, UIKit, Foundation
μ½μ½μ ν°μΉλ μ ν리μΌμ΄μ μ κΈ°λ₯ ꡬνμ νμν UIKit, Foundation λ±μ ν¬ν¨νλ μ΅μμ νλ μμν¬ κ³μΈ΅μ΄λ€. UIKit μ iOS μ± κ°λ°μ μ¬μ©μμκ² λ³΄μ¬μ§λ νλ©΄(λ·°)λ₯Ό ꡬμ±νκ³ , μ¬μ©μ μ‘μ λ±μ μ΄λ²€νΈλ₯Ό κ΄λ¦¬νλ νλ μμν¬μ΄λ€. Foundation νλ μμν¬λ iOS μ±μ μ΄μ체μ μλΉμ€, κΈ°λ³Έ κΈ°λ₯μ ν¬ν¨νλ νλ μμν¬μ΄λ€.
π«βοΈ CocoaλΌλ μ΄λ¦μ κ·ΈλΉμ μ§κΈ μ΄μμΌλ‘ ν«νλ μΈμ΄μΈ Javaκ° μ»€νΌμμ°μ§μμ λ°μ¨ μ΄λ¦μ΄κΈ° λλ¬Έμ, Apple κ°λ°μλ μ΄λ¦°μμ΄λ ν μ μλ μλ°(Java for kids)λΌλ μλ―Έμμ CocoaλΌκ³ μ΄λ¦μ§μλ€κ³ νλ€
βοΈ UIKit νλ μμν¬
UIKit μ iOS μ± κ°λ°μ μ¬μ©μμκ² λ³΄μ¬μ§ νλ©΄μΈ λ·°λ₯Ό ꡬμ±νκ³ μ¬μ©μ μ‘μ λ± μ΄λ²€νΈλ₯Ό κ΄λ¦¬νλ νλ μμν¬μ΄λ€. ν°μΉλ μ μ€μ² μ²λ¦¬, μ λλ©μ΄μ , κ·Έλ¦Ό 그리기, μ΄λ―Έμ§λ ν μ€νΈ μ²λ¦¬ λ± μ¬μ©μ μ΄λ²€νΈ μ²λ¦¬λ₯Ό μν ν΄λμ€λ₯Ό ν¬ν¨νλ©°, TableView, Slider, Button, Text Field, Alert λ± μ±μ νλ©΄μ ꡬμ±νλ μμλ₯Ό ν¬ν¨νλ€. UIKit ν΄λμ€ μ€ UIResponder μμ νμλ ν΄λμ€ or μ¬μ©μ μΈν°νμ΄μ€μ κ΄λ ¨λ ν΄λμ€λ μ±μ λ©μΈ μ°λ λ(or Main Dispatch Queue) μμλ§ μ¬μ©ν΄μΌνλ€.
UIKit νλ μμν¬μμ μ¬μ©μ μΈν°νμ΄μ€μ κ΄λ ¨λ ν΄λμ€
- View and Control : νλ©΄μ μ½ν μΈ λ₯Ό νμνλ€. Control = Button, Slider .. λ± μ¬μ©μκ° μ»¨νΈλ‘€ν μ μλ κ²
- View Controller : μ¬μ©μ μΈν°νμ΄μ€λ₯Ό κ΄λ¦¬νλ€.
- Animation and Haptics : μ λλ©μ΄μ κ³Ό ν ν±μ ν΅ν νΌλλ°± μ 곡
- Window and Screen : λ·° κ³μΈ΅μ μν μλμ° μ 곡
UIKit νλ μμν¬μμ μ¬μ©μ μ‘μ κ³Ό κ΄λ ¨λ κΈ°λ₯
- Touch, Press, Gesture : μ μ€μ² μΈμμ ν΅ν μ΄λ²€νΈ μ²λ¦¬ κΈ°λ₯
- Drag and Drop : νλ©΄ μμμ λλκ·Έ μ€ λλ‘ κΈ°λ₯
- Peek and Pop : 3D ν°μΉμ λμν 미리 보기 κΈ°λ₯
- Keyboard and Menu : ν€λ³΄λ μ λ ₯ μ²λ¦¬ / μ¬μ©μ μ μ λ©λ΄ νμ
π iOS μ± νλ‘μ νΈμμ ViewController νμΌμ μμ±νλ©΄ UIKit λΌμ΄λΈλ¬λ¦¬κ° μλμΌλ‘ μ μΆκ°λ κΉ?
ViewController μ μμ ν΄λμ€λ UIViewController λ‘ μ¬μ©μ μΈν°νμ΄μ€λ₯Ό κ΄λ¦¬νλ μν μ νλ€. μ΄λ¬ν UIViewController λ UIKit νλ μμν¬μμ μ μλ ν΄λμ€μ΄κΈ° λλ¬Έμ, λ¨μ§μΌλ‘ μ¬μ©ν΄μΌ νλ€. λ§μ½ UIKit μ import νμ§ μκ³ , UIViewController λ₯Ό μμλ°μΌλ €κ³ νλ€λ©΄, μ»΄νμΌλ¬λ μ΄λ€ μν μ νλ ν΄λμ€μΈμ§ μ μ μλ€.
π‘ UIViewController :: An object that manages a view hierarchy for your UIKit app.
βοΈ Foundation νλ μμν¬
Foundation μμ μ 곡νλ λ°μ΄ν° νμ (Number, Data, String), 컬λ μ νμ (Array, Dictionary, Set), 컬λ μ μ°μ°(Filter, Sorting)μ λλΆλΆμ Objective-C μΈμ΄μμ μ§μλμ§ μλ κΈ°λ₯μ 보μνκΈ° μν ꡬνμ΄λ€. Swift μμλ κΈ°λ³Έ λ°μ΄ν° νμ κ³Ό κΈ°λ₯ λλΆλΆμ Swift νμ€ λΌμ΄λΈλ¬λ¦¬μμ μ 곡νλ―λ‘, Foundation νλ μμν¬λ₯Ό μΆκ°νμ§ μμλ μ¬μ©ν μ μλ€.
κ·Έ μΈ, μλμ κΈ°λ₯λ€μ μ 곡νλ€.
- Data and Time : λ μ§μ μκ° κ³μ°, λΉκ΅
- Unit and Measurement : 물리μ μ°¨μμ΄λ λ¨μλ₯Ό λ³νν μ μλ κΈ°λ₯
- Data Formatting : μ«μ, λ μ§ λ±μ λ¬Έμμ΄λ‘ λ³ννκ±°λ λ°λλ‘ λ³ννλ κΈ°λ₯
* μΌλ° Swift νμΌ νΉμ Playground νλ‘μ νΈλ₯Ό μμ±νλ κ²½μ°, 'import Foundation' μ΄ κΈ°λ³Έμ μΌλ‘ λͺ μλμ΄ μλ€.
* UIKit νλ μμν¬μμ Foundation νλ μμν¬λ₯Ό import νκ³ μμΌλ―λ‘, UIKit μ μΆκ°νλ€λ©΄ Foundation μ λ³λλ‘ μΆκ°νμ§ μμλ κΈ°λ₯μ μ΄μ©ν μ μλ€.