iOSInterviewquestions
iOSκ°λ°μλ€μκ² νμν μλ£λ€μ μ 리νκ³ μλ μ€μ λλ€.
λ©΄μ λ λ°μ μ§λ¬Έμ΄λ 곡λΆνλ΄μ©λ€
μμ ν΄μΌν λ΄μ©μ΄λ μΆκ°ν΄μΌν λ΄μ©μ μΈμ λ μ§ PRλ λ €μ£ΌμΈμ!
λͺ¨λμ νμ λͺ¨μλ΄ μλ€ π―ββοΈπ―ββοΈ κ°μ¬ν©λλ€:)
Required
μλ λ΄μ©λ€μ μ΅λν λ§μ΄ 곡λΆν΄λλκ²μ΄ μ’μ΅λλ€ π
iOS
-
Bounds μ Frame μ μ°¨μ΄μ μ μ€λͺ νμμ€.
β οΈ Boundsλ λ·°μκΈ° μμ μ μ’νκ³μ΄λ€. μ΄ μ’νλ₯Ό μμ νκ² λλ©΄ μμ μλμ μλ μλΈλ·°λ€μ΄ μν₯μ λ°λλ€.β οΈ Frameμ μμ μ μνΌλ·°μμ μμ μ μ’νλ₯Ό λνλ΄λ μ’νκ³μ΄λ€. -
μ€μ λλ°μ΄μ€κ° μμ κ²½μ° κ°λ° νκ²½μμ ν μ μλ κ²κ³Ό μλ κ²μ μ€λͺ νμμ€.
-
μ±μ΄ foregroundμ μμ λμ backgroundμ μμ λ μ΄λ€ μ μ½μ¬νμ΄ μκ³ , μν λ³νμ λ°λΌ λ€λ₯Έ λμμ μ²λ¦¬νκΈ° μν λΈλ¦¬κ²μ΄νΈ λ©μλλ€μ μ€λͺ νμμ€.
-
scene delegateμ λν΄ μ€λͺ νμμ€.
-
μ±μ΄ In-Active μνκ° λλ μλ리μ€λ₯Ό μ€λͺ νμμ€.
-
NSOperationQueue μ GCD Queue μ μ°¨μ΄μ μ μ€λͺ νμμ€.
-
GCD API λμ λ°©μκ³Ό νμμ±μ λν΄ μ€λͺ νμμ€.
-
μμ λ§μ Custom Viewλ₯Ό λ§λ€λ €λ©΄ μ΄λ»κ² ν΄μΌνλμ§ μ€λͺ νμμ€.
-
iOS μ±μ λ§λ€κ³ , User Interfaceλ₯Ό ꡬμ±νλ λ° νμμ μΈ νλ μμν¬ μ΄λ¦μ 무μμΈκ°?
-
Foundation Kitμ 무μμ΄κ³ ν¬ν¨λμ΄ μλ ν΄λμ€λ€μ μ΄λ€ κ²μ΄ μλμ§ μ€λͺ νμμ€.
-
Delegateλ 무μΈμΈκ° μ€λͺ νκ³ , retain λλμ§ μλλμ§ κ·Έ μ΄μ λ₯Ό ν¨κ» μ€λͺ νμμ€.
-
NotificationCenter λμ λ°©μκ³Ό νμ© λ°©μμ λν΄ μ€λͺ νμμ€.
-
UIKit ν΄λμ€λ€μ λ€λ£° λ κΌ μ²λ¦¬ν΄μΌνλ μ ν리μΌμ΄μ μ°λ λ μ΄λ¦μ 무μμΈκ°?
-
TableViewλ₯Ό λμ λ°©μκ³Ό νλ©΄μ Cellμ μΆλ ₯νκΈ° μν΄ μ΅μν ꡬνν΄μΌ νλ DataSource λ©μλλ₯Ό μ€λͺ νμμ€.
-
νλμ View Controller μ½λμμ μ¬λ¬ TableView Controller μν μ ν΄μΌ ν κ²½μ° μ΄λ»κ² ꡬλΆν΄μ ꡬνν΄μΌ νλμ§ μ€λͺ νμμ€.
-
App Bundleμ ꡬ쑰μ μν μ λν΄ μ€λͺ νμμ€.
-
View κ°μ²΄μ λν΄ μ€λͺ νμμ€.
β οΈ μ±μμ μ²λ¦¬ν λͺ¨λΈ, λ°μ΄ν°λ₯Ό νλ©΄μ 컨ν μΈ λ‘ νννλ κ°μ²΄β οΈ μ¬μ©μμμ μνΈμμ©νλ κ°μ²΄ -
UIView μμ Layer κ°μ²΄λ 무μμ΄κ³ μ΄λ€ μν μ λ΄λΉνλμ§ μ€λͺ νμμ€.
-
UIWindow κ°μ²΄μ μν μ 무μμΈκ°?
-
UINavigationController μ μν μ΄ λ¬΄μμΈμ§ μ€λͺ νμμ€.
-
λͺ¨λ View Controller κ°μ²΄μ μμ ν΄λμ€λ 무μμ΄κ³ κ·Έ μν μ 무μμΈκ°?
-
μ±μ΄ μμν λ main.c μ μλ UIApplicationMain ν¨μμ μν΄μ μμ±λλ κ°μ²΄λ 무μμΈκ°?
-
UIApplication κ°μ²΄μ 컨νΈλ‘€λ¬ μν μ μ΄λμ ꡬνν΄μΌ νλκ°?
-
μ±μ μ½ν μΈ λ λ°μ΄ν° μ체λ₯Ό μ μ₯/보κ΄νλ νΉλ³ν κ°μ²΄λ₯Ό 무μμ΄λΌκ³ νλκ°?
-
μ± νλ©΄μ μ½ν μΈ λ₯Ό νμνλ λ‘μ§κ³Ό κ΄λ¦¬λ₯Ό λ΄λΉνλ κ°μ²΄λ₯Ό 무μμ΄λΌκ³ νλκ°?
-
Swiftμ ν΄λ‘μ μ Objective-Cμ λΈλ‘μ μ΄λ€ μ°¨μ΄κ° μλκ°?
-
Appμ Not running, Inactive, Active, Background, Suspendedμ λν΄ μ€λͺ νμμ€.
-
App thinningμ λν΄μ μ€λͺ νμμ€.
-
Global DispatchQueue μ Qos μλ μ΄λ€ μ’ λ₯κ° μλμ§, κ°κ° μ΄λ€ μλ―ΈμΈμ§ μ€λͺ νμμ€.
Autolayout
- μ€ν λ μ΄μμμ μ½λλ‘ μμ±νλ λ°©λ²μ 무μμΈκ°? (3κ°μ§)
- hugging, resistanceμ λν΄μ μ€λͺ νμμ€.
- Intrinsic Sizeμ λν΄μ μ€λͺ νμμ€.
- μ€ν 리보λλ₯Ό μ΄μ©νμλμ μ₯λ¨μ μ μ€λͺ νμμ€.
- Safeareaμ λν΄μ μ€λͺ νμμ€.
- Left Constraint μ Leading Constraint μ μ°¨μ΄μ μ μ€λͺ νμμ€.
Swift
-
Optional μ΄λ 무μμΈμ§ μ€λͺ νμμ€.
β οΈ λ°μ΄ν°μ λΆμ¬μ κ°λ₯μ±μ νννλ€β οΈ μ€μννΈμμλ μ΅μ λμ΄ μ‘΄μ¬νκΈ°μ μ΅μ λμ΄ μλ νμ μ λ°μ΄ν°κ° μ‘΄μ¬ν κ²μ λ 보μ₯ν μ μλ€. -
Fast Enumration μ΄λ 무μμΈμ§ μ€λͺ νμμ€.
-
Struct κ° λ¬΄μμ΄κ³ μ΄λ»κ² μ¬μ©νλμ§ μ€λͺ νμμ€.
-
instance λ©μλμ class λ©μλμ μ°¨μ΄μ μ μ€λͺ νμμ€.
β οΈ μΈμ€ν΄μ€ λ©μλλ class/structκ° μ΄κΈ°νλμ΄ ν΄λΉ μΈμ€ν΄μ€λ₯Ό ν΅ν΄ μ κ·Ό κ°λ₯ν λ©μλμ΄λ€.- κ·Έλ¬λ―λ‘ ν΄λΉ λ©μλμμ μνλ₯Ό λ³κ²½νλ©΄ ν΄λΉ μΈμ€ν΄μ€λ§ μνκ° λ³κ²½λλ€.
β οΈ Class λ©μλμ κ²½μ° νμ μ μμ‘΄νλ―λ‘ νμ μ λͺ μν¨μΌλ‘μ¨ λ©μλμ μ κ·Όκ°λ₯νλ€.- κ·Έλ¬λ―λ‘ ν΄λΉ λ©μλμμ μνλ₯Ό λ³κ²½νκ²λλ©΄ ν΄λΉ νμ κ·Έ μ체μ μνκ° λ³κ²½λλ€.
-
Delegate ν¨ν΄μ νμ©νλ κ²½μ°λ₯Ό μλ₯Ό λ€μ΄ μ€λͺ νμμ€.
-
Singleton ν¨ν΄μ νμ©νλ κ²½μ°λ₯Ό μλ₯Ό λ€μ΄ μ€λͺ νμμ€.
-
KVO λμ λ°©μμ λν΄ μ€λͺ νμμ€.
-
Delegatesμ Notification λ°©μμ μ°¨μ΄μ μ λν΄ μ€λͺ νμμ€.
-
λ©ν° μ°λ λλ‘ λμνλ μ±μ μμ±νκ³ μΆμ λ κ³ λ €ν μ μλ λ°©μλ€μ μ€λͺ νμμ€.
-
MVC ꡬ쑰μ λν΄ λΈλ‘ κ·Έλ¦Όμ κ·Έλ¦¬κ³ , κ° μν κ³Ό νλ¦μ μ€λͺ νμμ€.
-
νλ‘ν μ½μ΄λ 무μμΈμ§ μ€λͺ νμμ€.
β οΈ νλ‘ν μ½μ κ°μ²΄κ°μ μν΅μμ νμν κ΄λ ¨μλ κΈ°λ₯λ€μ λͺ μΈμ μ§ν©μ΄λ€.β οΈ νλ‘ν μ½μ μ€μνλ μκ° ν΄λΉ κΈ°λ₯λ€μ ꡬνμ κ°μ νκΈ°νλ€.- κ·Έλ κΈ° λλ¬Έμ ν΄λΉ νλ‘ν μ½μ μ€μνλ€λ©΄, κ·Έ κ°μ²΄κ° ν΄λΉ κΈ°λ₯λ€μ μνν μ μμμ 보μ₯ν μ μλ€.
-
Hashableμ΄ λ¬΄μμ΄κ³ , Equatableμ μ μμν΄μΌ νλμ§ μ€λͺ νμμ€.
-
mutating ν€μλμ λν΄ μ€λͺ νμμ€.
β οΈ κ°νμ μ νλ‘νΌν°λ₯Ό λ³κ²½νλ λ©μλμ μμ±ν΄μΌνλ ν€μλμ λλ€.β οΈ mutating
ν€μλκ° λΆμ λ©μλλ μ¬μ€ νλ‘νΌν°λ₯Ό λ°κΎΈλ κ²μ΄ μλ‘μ΄ κ° νμ μ μμ±ν΄μ λμΉμν€λ κ³Όμ μ΄λ―λ‘, μ΄λ₯Ό μ»΄νμΌλ¬μκ² λͺ μν΄μ£Όλ ν€μλμ λλ€.
-
νμΆ ν΄λ‘μ μ λνμ¬ μ€λͺ νμμ€.
β οΈ ν΄λ‘μ λ μ€μννΈμμ μ°Έμ‘° νμ μ΄λ©°, ν΄λ‘μ λ₯Ό ν¨μμ μΈμλ‘ μ λ¬ν μ μλ€.ν΄λ‘μ λ₯Ό μ λ¬λ°μ ν¨μκ° λλκ³ μ μ΄νλ¦μ λ°ννκΈ° μ μ ν΄λ‘μ λ₯Ό νΈμΆνλ€λ©΄ λ¬Έμ κ° λμ§ μμ§λ§, μ μ΄νλ¦μ λ°ννκ³ κ·Έ μ΄ν νΈμΆλλ ν΄λ‘μ λ€μ΄ μλ€.
DispatchQueue.async
μ κ°μ μμ κ° μλ€. μ΄ κ²½μ° ν΄λ‘μ κ° λ©λͺ¨λ¦¬μ μ μ§λ μ§ λΆν¬λͺ νλ€.β οΈ μ΄λ° κ²½μ° λ©λͺ¨λ¦¬μμ ν΄λ‘μ λ₯Ό ν΄μ λμ§ μκ²@escaping
μ ν€μλλ₯Ό λΆμ¬μ, λ©λͺ¨λ¦¬μ λ¨μ μκ² ν μ μλ€.
-
Extensionμ λν΄ μ€λͺ νμμ€.
β οΈ κΈ°μ‘΄ (κ°,μ°Έμ‘°)νμ λ€μ μνμ μΌλ‘ νμ₯νλ ννμ λλ€.β οΈ κΈ°μ‘΄νμ μ μ¬μ©μ μ μλ©μλ, κ³μ°νλ‘νΌν°λ±μ μΆκ°νλ νμ₯μ΄ κ°λ₯ν©λλ€.β οΈ νλ‘ν μ½μ μΈν°νμ΄μ€ λ©μλλ₯Ό 기본ꡬνν μ μμ΅λλ€.β οΈ κ΄λ ¨λ μ½λλΈλλ€μ λΆλ¦¬νμ¬ κ΄λ¦¬ν μ μμ΅λλ€. -
Class/ struct/ enum μ°¨μ΄μ κ³Ό μ¬μ©νλ λμ κΈ°μ€μ λν΄ μ€λͺ νμμ€.
-
μ κ·Ό μ μ΄μμ μ’ λ₯μ μ΄λ€κ² μλμ§ μ€λͺ νμμ€
β open - λͺ¨λ μμ€μ μ κ·Όμ΄ μ΄λ € μλ€.
β pubilc - ν΄λΉ λͺ¨λμμλ§ μμμ ν΅ν νμ νμ₯μ΄ κ°λ₯νλ€.
β internal - ν΄λΉ λͺ¨λμμλ§ μ κ·Όμ΄ κ°λ₯νλ€. , Default μ κ·Όμ νμμ΄λ€.
β fileprivate - ν΄λΉ νμΌμμλ§ μ κ·Όμ΄ κ°λ₯νλ€.
β private - μ κ·Όμ μ ννλ€.
-
deferλ 무μμΈμ§ μ€λͺ νμμ€.
β μ μ΄κΆμ νμ¬ μ€μ½νμμ λ€λ₯Έ μ€μ½νλ‘ μ λ¬ν λ, νΈμΆλλ μ§μ° λΈλ‘
β μμ λ°λ©κ³Ό κ°μ νμ²λ¦¬ λΆλΆμ μ§μ°λΈλ‘μμ μ²λ¦¬νλ€.
β μλ¬κ° λ°μν΄λ μ§μ°λΈλ‘μ νΈμΆλλ―λ‘ νμ²λ¦¬μ μ ν©νλ€.
-
deferκ° νΈμΆλλ μμλ μ΄λ»κ² λκ³ , deferκ° νΈμΆλμ§ μλ κ²½μ°λ₯Ό μ€λͺ νμμ€.
β μ μΈλ μμμ μμμΌλ‘ νΈμΆλλ€
β λ§μ½ defer λΈλ‘μ λλ¬νκΈ°λ μ μ reture λλ€λ©΄ κ·Έ μ΄μ μ λͺ μλ defer ꡬ문λ§μ΄ νΈμΆλλ€
-
μμ±μ(designated/convenience/required)μ μ°¨μ΄μ κ³Ό νΉμ§μ μ€λͺ νμμ€.
β designated init μ λͺ¨λ λ©€λ²λ³μκ° μ΄κΈ°ννλ μ§μ μ΄λμ λΌμ΄μ
- λ§μ½ νμνμ
μ initμ΄λΌλ©΄
super.init
μ νΈμΆν΄μΌνλ€. - λ§μ½ superν΄λμ€κ° μ‘΄μ¬νλ€λ©΄, νμ₯λ νλ‘νΌν°λ₯Ό μ΄κΈ°νν
super.init
μ νΈμΆν΄μΌνλ€.
β convenience init μ λ΄λΆμμ designated initμ νΈμΆν΄μΌνλ€.
- μ΄λμ
λΌμ΄μ μμμΌλ‘,
self.init
μ΄ νΈμΆμ νκΈ° μ΄μ μλ selfμ μ κ·Ό ν μ μμΌλ―λ‘, designated initμ superμλ λ°λλ‘ λ¨Όμ self.initμ νΈμΆν΄μΌνλ€.
β required initμ ν΄λΉ νμ μ μλΈν΄λμ€λ€μκ² νΉμ initμ ꡬνμ κ°μ νλ μ΄λμ λΌμ΄μ μ΄λ€.
λͺ¨λ μ΄κΈ°νλ μλμ λ¨κ³λ₯Ό κ±°μΉλ€.
- Designated init μ΄ νΈμΆλλ€ - convenience init μ ν΅ν κ°μ νΈμΆλ ν¬ν¨λλ€
- μ΄κΈ°νλ self.prop μ μμ ν κΈ°νκ° μ£Όμ΄μ§λ€.
- λ§μ½ νμνμ
μ initμ΄λΌλ©΄
-
νλ‘ν μ½ μ§ν₯ νλ‘κ·Έλλ°μ λν΄μ μ€λͺ νμμ€.
ARC
-
ARCλ 무μμΈμ§ μ€λͺ νμμ€.
β Swiftμμλ λ©λͺ¨λ¦¬κ΄λ¦¬λ₯Ό μ°Έμ‘°μΉ΄μ΄νΈλ₯Ό ν΅ν΄μ νλλ°, μ΄κ²μ μλμΌλ‘ κ³μ°ν΄μ£Όλ λ©λͺ¨λ¦¬κ΄λ¦¬ λ°©λ²μ΄λ€.
-
Retain Count λ°©μμ λν΄ μ€λͺ νμμ€.
β ν΄λΉ κ°μ²΄λ₯Ό λ€λ₯Έ κ³³μμ μ°Έμ‘°νκ² λλ©΄ retain count κ° μ¦κ°νκ³ , μ°Έμ‘°λ₯Ό λ§μΉκ² λλ©΄ retain countλ₯Ό κ°μμν¨λ€.
β κ°μ²΄μ retain count κ° 0 μ΄λΌλ©΄ ν΄λΉ κ°μ²΄μ μ κ·Όν μ μκΈ°λλ¬Έμ, λ μ΄μ μ¬μ©λμ§ μμ κ²μ΄λΌκ³ νλ¨ν΄μ λ©λͺ¨λ¦¬μμ ν΄μ ν©λλ€.
-
Strong κ³Ό Weak μ°Έμ‘° λ°©μμ λν΄ μ€λͺ νμμ€.
β Strong μ κ°μ²΄λ₯Ό μ°Έμ‘°νλ©°, μ°Έμ‘°μΉ΄μ΄νΈλ₯Ό 1 μ¦κ°μν¨λ€. κ·Έλ¬λ―λ‘ κ°μ²΄κ° λ©λͺ¨λ¦¬μμ ν΄μ λμ§ μμμ 보μ₯ν μ μλ€.
β Weakμ μ°Έμ‘°λ₯Ό νλ, μ°Έμ‘° μΉ΄μ΄νΈλ μ¦κ°μν€μ§ μμμ, nil λ‘ λ°λ μ μλ κ°λ₯μ±μ κ°μ§κ³ μλ€. κ·Έλμ Optionalκ³Ό var μ μ¬μ©νλ€.
-
Unowned μ weak μ μ°¨μ΄μ μ λν΄ μ€λͺ νμμ€.
β Weak μ°Έμ‘°λ μ°Έμ‘°νλ μΈμ€ν΄μ€κ° λ 짧μ μλͺ μ£ΌκΈ°λ₯Ό κ°μ§ λ μ¬μ©νλ€. nil κ°λ₯μ±μ λ΄ν¬νκ³ μλ€. μ°Έμ‘°κ° 0 μ΄ λλ©΄ Zeroing μ΄λΌλ μμ μ ν΅ν΄ dangling pointer κ° μλ nil μ ν λΉνλ€.
β unownedλ μ°Έμ‘°νλ μΈμ€ν΄μ€κ° νμ¬ μΈμ€ν΄μ€μ μλͺ μ£ΌκΈ°λ³΄λ€ κΈΈκ±°λ κ°μ λ μ¬μ©νλ€.
-
ARC λμ Manual Reference Count λ°©μμΌλ‘ ꡬνν λ κΌ μ¬μ©ν΄μΌ νλ λ©μλλ€μ μ°κ³ μν μ μ€λͺ νμμ€.
-
retain κ³Ό assign μ μ°¨μ΄μ μ μ€λͺ νμμ€.
-
μν μ°Έμ‘°μ λνμ¬ μ€λͺ νμμ€.
-
κ°ν μν μ°Έμ‘° (Strong Reference Cycle) λ μ΄λ€ κ²½μ°μ λ°μνλμ§ μ€λͺ νμμ€.
-
νΉμ κ°μ²΄λ₯Ό autorelease νκΈ° μν΄ νμν μ¬νκ³Ό κ³Όμ μ μ€λͺ νμμ€.
-
Autorelease Poolμ μ¬μ©ν΄μΌ νλ μν©μ λ κ°μ§ μ΄μ μλ‘ λ€μ΄ μ€λͺ νμμ€.
-
λ€μ μ½λλ₯Ό μ€ννλ©΄ μ΄λ€ μΌμ΄ λ°μν κΉ μΆμΈ‘ν΄μ μ€λͺ νμμ€. Ball *ball = [[[[Ball alloc] init] autorelease] autorelease];
Functional Programming
- ν¨μν νλ‘κ·Έλλ°μ΄ 무μμΈμ§ μ€λͺ νμμ€.
- κ³ μ°¨ ν¨μκ° λ¬΄μμΈμ§ μ€λͺ νμμ€.
- Swift Standard Libraryμ map, filter, reduce, compactMap, flatMapμ λνμ¬ μ€λͺ νμμ€.
Optional
μλλΆν°λ μΆκ°λ‘ 곡λΆλ₯Ό νλ©΄ μ’μ λ΄μ©λ€μ λλ€.
Objective-cλ rxλ νμ¬, νλ§λ€ μ¬μ©νλκ³³μ΄ μ°¨μ΄κ°μκ³ μ μ μ΄λ μ£Όλμ΄κΈ°μ€μΌλ‘ νμλΌκ³ μ¬κ²¨μ§μ§μκΈ°μ μ΅μ λμ μΆκ°νμμ΅λλ€.
Objective-C
- Mutable κ°μ²΄κ³Ό Immutable κ°μ²΄λ μ΄λ€κ²μ΄ μλμ§ μλ₯Ό λ€κ³ , μ°¨μ΄μ μ μ€λͺ νμμ€.
- dynamicκ³Ό property μλ―Έμ μ°¨μ΄λ₯Ό μ€λͺ νμμ€.
- @propertyλ‘ μ μΈν NSString* title μ getter/setter λ©μλλ₯Ό ꡬνν΄λ³΄μμ€.
- @propertyμμ atomicκ³Ό nonatomic μ°¨μ΄μ μ μ€λͺ νκ³ , μ΄λ€κ²μ΄ μμ νμ§, μ΄λκ²μ΄ κΈ°λ³ΈμΈμ§ μ€λͺ νμμ€.
- @propertyλ‘ μ μΈνλ€λ κ²μ μλ―Έλ₯Ό μ€λͺ νκ³ , .hμ λ£μ κ²½μ°μ .mμ λ£μ κ²½μ° μ°¨μ΄μ μ μ€λͺ νμμ€.
- -performSelector:withObject:afterDelay: λ©μμ§λ₯Ό 보λ΄λ©΄ μΈμκ°μ κ°μ²΄λ retainλλκ°? κ·Έ μ΄μ λ₯Ό ν¨κ» μ€λͺ νμμ€.
- Objective-C μμ μΊ‘μνλ λ°μ΄ν°λ₯Ό μ κ·ΌνκΈ° μν λ°©λ²λ€μ μ€λͺ νμμ€.
- unnamed category λ°©μμ λν΄ μ€λͺ νμμ€.
- Category νμ₯κ³Ό Subclass νμ₯μ μ°¨μ΄μ μ μ€λͺ νμμ€.
- Category λ°©μμ λν΄ μ€λͺ νμμ€.
- Objective-C μμ Protocol μ΄λ 무μμΈμ§ μ€λͺ νμμ€.
- Objective-C++ λ°©μμ΄ λ¬΄μμΈμ§ μ€λͺ νκ³ , μ΄λ€ κ²½μ° μ¬μ©ν΄μΌ νλμ§ μ€λͺ νμμ€.
- method swizzlingμ΄ λ¬΄μμ΄κ³ , μ΄λ¨ λ μ¬μ©νλμ§ μ€λͺ νμμ€.
Advanced
- NSCoder ν΄λμ€λ μ΄λ€ μν©μμ μ΄λ»κ² μ¨μΌ νλμ§ μ€λͺ νμμ€.
- Responder Chain ꡬ쑰μ λν΄ μ€λͺ νκ³ , First Responder μν μ λν΄ μ€λͺ νμμ€.
- NSObjectλΆν° UIButton κΉμ§ μμ κ³Όμ μ κ³μΈ΅κ³Ό μν μ μ€λͺ νμμ€.
- shallow copyμ deep copyμ μ°¨μ΄μ μ μ€λͺ νμμ€.
- Push Notification λ°©μμ λν΄ μ€λͺ νμμ€.
- Foundation κ³Ό Core Foundation νλ μμν¬μ μ°¨μ΄μ μ μ€λͺ νμμ€.
- NSURLConnection μμ μ¬μ©νλ Delegate λ©μλλ€μ λν΄ μ€λͺ νμμ€.
- Synchronous λ°©μκ³Ό Asynchronous λ°©μμΌλ‘ URL Connectionμ μ²λ¦¬ν κ²½μ°μ μ₯λ¨μ μ λΉκ΅νμμ€.
- Plist νμΌ κ΅¬μ‘°μ Plist νμΌμ μ μ₯λ λ°μ΄ν°λ₯Ό λ€λ£¨κΈ° μ ν©ν ν΄λμ€λ₯Ό μ€λͺ νμμ€.
- Core Dataμ Sqlite κ°μ λ°μ΄ν° λ² μ΄μ€μ μ°¨μ΄μ μ μ€λͺ νμμ€.
- JSON λ°μ΄ν°λ₯Ό μ²λ¦¬νλ λ°©μκ³Ό νμ, κ°μ²΄ λ³ν λ°©μμ λν΄ μ€λͺ νμμ€.
- XML Parserλ₯Ό μ¬μ©νλ €λ©΄ μ΄λ»κ² ν΄μΌ νλμ§ μ€λͺ νμμ€.
- μΉ μλ²μ HTTP μ°κ²°μ μ¬μ©ν΄μ λ°μ΄ν°λ₯Ό μ£Όκ±°λ λ°μΌλ €λ©΄ μ¬μ©ν΄μΌ νλ ν΄λμ€μ λμμ μ€λͺ νμμ€.
- DOM λ°©μκ³Ό SAX λ°©μ XML Parserμ μ°¨μ΄μ μ μ€λͺ νκ³ iOS XML Parserλ μ΄λ€ λ°©μμΈμ§ μ€λͺ νμμ€.
- In-App Purchase Product type μ μ€λͺ νμμ€.
Architecture
- μμ‘΄μ± μ£Όμ μ λνμ¬ μ€λͺ νμμ€.
Rx
- Reactive Programmingμ΄ λ¬΄μμΈμ§ μ€λͺ νμμ€.
- RxSwiftμμ Hot Observableκ³Ό Cold Observableμ μ°¨μ΄λ₯Ό μ€λͺ νμμ€.