κ°μ²΄μ§ν₯ νλ‘κ·Έλλ° ν¨λ¬λ€μμμ μλνλ μ€μν κ°λ μ€ νλμ΄λ€. μ΄λ₯Ό ꡬννκΈ° μν ν΅μ¬ κΈ°λ₯μΈ μ κ·Όμ μ΄μ λν΄ μμ보μ. λ€μ΄κ°κΈ° μ μλννλκΉ μκ°μ΄ λ¬λλ° μΊ‘μνλ 무μμ΄ λ€λ₯ΌκΉ? λͺ¨λκ³Ό μμ€νμΌμ 무μμΌκΉ? β μλν? μΊ‘μν? μλν(hiding) : λ΄λΆ λ°μ΄ν°μ μ°μ°μ μΈλΆμμ μ κ·Όνμ§ λͺ»νλλ‘ μλ(hiding) νΉμ 격리(isolation)μν€λ κ²μ΄λ€. κ°μ²΄ μΈλΆμμ κ°μ²΄λ΄μ λ°μ΄ν° μ κ·Όμ μ ννκ³ λ°μ΄ν°λ₯Ό μμ , μ‘°μνλ λμμ λ΄λΆμ λκ³ μ κ·Ό(getter),μ€μ (setter)νλ λ©μλλ‘ λ°μ΄ν°λ₯Ό μ»λλ€. μΊ‘μν(encapsulation) μΊ‘μ μμ½μ λΉμ ν μ μλ€. μ°κ΄μλ μ½ν¨λ₯Ό κ°μ§ μ½λΌλ¦¬ λͺ¨μ¬μκ³ κ°μΈμ μΈλΆμμ 무μμ΄ μλμ§ μ μ μλ€. μ¦, μ°κ΄ μλ λ³μμ ν¨..
OptimizationTips λ¬Έμμμ Value Type(κ° νμ )μ COW(Copy-on-Write) μ΅μ νλ₯Ό μ¬μ©νλ€κ³ ν©λλ€. COW μ λν΄μ μμ보기 μ μ νμ μ λ°λΌμ μ΄λ ν μμΌλ‘ 볡μ¬νλμ§ μμλ΄ μλ€. β Swift μμ κ° νμ κ³Ό μ°Έμ‘° νμ μ λ³΅μ¬ λ°©μμ λ€λ¦ λλ€. κ° νμ : κΉμ 볡μ¬(deep copy). λ°μ΄ν° μ체λ₯Ό 볡μ¬νλ λ°©λ². λ 립μ μΈ λ©λͺ¨λ¦¬λ₯Ό μ°¨μ§νκΈ° λλ¬Έμ 볡μ¬ν μΈμ€ν΄μ€μ λ°μ΄ν°λ₯Ό λ°κΎΈλλΌλ μλ³Έμ μν₯μ μ£Όμ§ μμ΅λλ€. μ°Έμ‘° νμ : μμ 볡μ¬(shallow copy). μ΅μνμ 볡μ¬λ§ μ§ν. 볡μ¬λ₯Ό ν λ μ£Όμκ°μ 곡μ νλ€. μλ³Έκ³Ό 볡μ¬λ³Έμ΄ κ°μ μ£Όμκ°μ 곡μ νλ―λ‘ ν μͺ½μ λ°μ΄ν°λ₯Ό λ°κΎΈλ©΄ λ€λ₯Έμͺ½μ μν₯μ μ€λλ€. κ° νμ μ μμ νμ§ μμλ λ§€λ² λ°μ΄ν°λ₯Ό 볡μ¬ν λ..
μ’ λ κ·Όλ³Έμ μΈ μ§λ¬Έμ λμ Έλ³΄μ. β DispatchQueue μμ strong reference cycle(κ°ν μ°Έμ‘° μν) μ λ°μν μ μλκ°? λΌλ μ§λ¬Έμ λν΄μ κ²°λ‘ μ μΌλ‘λ λ³μλ‘ μ μ₯νμ§ μμΌλ©΄ κ°ν μ°Έμ‘° μνμ΄ λ°μνμ§ μλλ€. μ¦, DispatchQueue λ₯Ό μ΄λμ λΌμ΄μ λ₯Ό ν΅ν΄ λ§λ€μ΄μ λ³μμ μ μ₯νμ§ μ¬μ©νμ§ μλ μ΄μ κ°ν μ°Έμ‘° μνμ λ°μνμ§ μλλ€. DispatchQueue μ main κ³Ό global μ κ°κ° νμ νλ‘νΌν°μ νμ λ©μλμ΄κΈ° λλ¬Έμ νΈμΆνλ μΈμ€ν΄μ€κ° λ νΌλ°μ€ μΉ΄μ΄νΈλ₯Ό μ¬λ¦¬μ§ μκ³ , κ°ν μ°Έμ‘° μνμμ μμ λ‘μΈ μ μλ€. β [weak self] λ₯Ό μ¬μ©νμ§ μμλ λ κΉ? κ·Έλ λ€λ©΄ [weak self] μ κ°μ μΊ‘μ²λ¦¬μ€νΈλ₯Ό μ¬μ©νμ§ μμλ λ κΉ? κ·ΈλΌμλ λΆκ΅¬νκ³ ..
Is it necessary to use [unowned self] in closures of UIView.animateWithDuration(...)? μ΄ κΈμ μμ stackoverflow μ§λ¬Έμ μ½κ³ μ 리ν΄λ³Έ κΈμ λλ€. μμ±μλμ μ§λ¬Έμ μλμ κ°μλ€. μλμ μ½λλ λ©λͺ¨λ¦¬ λ¦μ νΌν μ μλμ? UIView.animateWithDuration(1, animations: { [unowned self] in self.box.center = self.boxTopRightPosition }, completion: { [unowned self] completed in self.box.hidden = true }) μ΄ κΈμλ κ½€λ λ§μ λΆλΆλ€μ΄ μ°κ²°λμ΄ μκΈ° λλ¬Έμ μ μ ν μ΄ν΄λ΄μΌ ν©λλ€. π§ μ°μ μμ a..
Swift μ dynamic dispatch λ method table μμ ν¨μλ₯Ό μ°Ύμ λ€μ indirect call μ μννμ¬ κ΅¬νλκΈ° λλ¬Έμ direct call λ³΄λ€ μνμ΄ λ립λλ€. λλ indirect call μ λ§μ μ»΄νμΌλ¬ μ΅μ νλ₯Ό λ°©μ§νμ¬ νΈμΆ λΉμ©μ΄ λΉμλλ€. κ·Έλ λ€λ©΄ μλΈν΄λμ±κ³Ό μ€λ²λΌμ΄λ©μ΄ νμμλ κ²½μ°λ static dispatch λ‘ λμνλ κ²μ΄ μ’μ§ μμκΉ? λ§μ΅λλ€, μ±λ₯μ΄ μ€μν μ½λμμ μ±λ₯ ν₯μμ νμνμ§ μμ λ μ΄ dynamic dispatch λμμ μ νν μ μλ λ°©λ²μ΄ νμν©λλ€. μ±λ₯ ν₯μμ μν Static Dispatch λ©μλ λΏλ§ μλλΌ νλ‘νΌν° μμ μ€λ²λΌμ΄λ©μ κ°λ₯μ±μ΄ μκΈ° λλ¬Έμ dynamic dispatch λ‘ λμν©λλ€. κ·Έλμ μμ κ°λ₯..
Message Dispatch Objective-C λ ν΄λμ€μ λ©μλκ° νλ‘νΌν°λ₯Ό νΈμΆν λ ν΄λΉ κ°μ²΄μ λ©μμ§λ₯Ό 보λ΄λ λ°©μμΌλ‘ ꡬνλμ΄ μμ΅λλ€. κ·Έλ¦¬κ³ μ΄ κ³Όμ μ΄ λ°νμ μμ μΌμ΄λ©λλ€. μ΄κ²μ΄ message dispatch μ λλ€. μ¦, message dispatch λ dynamic dispatch μ μΌμ’ μ λλ€. message dispatch λ μ€λ²λΌμ΄λ©νκ±°λ μλ‘ μ μν λ©μλλ€λ§ ν μ΄λΈμ μ μ§ν©λλ€.(swift μ dynamic dispatch λ λͺ¨λ λ©μλμ λν ν¬μΈν°λ₯Ό ν΄λΉ ν΄λμ€κ° κ°μ§.) λμ , λΆλͺ¨ ν΄λμ€λ‘μ ν¬μΈν°λ₯Ό κ°μ§κ³ μκΈ° λλ¬Έμ μμλ°μ λ©μλλ€μ μ°Ύμκ° μ μμ΅λλ€. λμ Swift λ μ΄λ° κΈ°λ₯μ μ체μ μΌλ‘ μ 곡νμ§ μκΈ°λλ¬Έμ message dispatch λ₯Ό ..
Method Dispatch method dispatch λ Swift μμ λ©μλλ₯Ό νΈμΆν λ νμ¬ λ©λͺ¨λ¦¬μμ μ΄λ»κ² μ΄λ€ λ©μλλ₯Ό μ€νμν¬μ§λ₯Ό κ²°μ ν λ μ¬μ©νλ λ°©λ²μ λλ€. ν΄λμ€μ dispatch κ³Όμ μ μμλ₯Ό λ€μ΄λ΄ μλ€. class Animal { func bark() { print("bark!") } } class Cow: Animal { func bark() { print("moo!") } } class Dog: Animal { } let animal: Animal = Animal() animal.bark() let cow: Animal = Cow() cow.bark() let dog: Animal = Dog() dog.bark() μΈμ€ν΄μ€ animal, cow, dog κ° bark() λ©μλ..
What's new in App Store Connect - WWDC22 - Videos - Apple Developer λ³Έ κΈμ WWDC λ₯Ό λ³΄κ³ , λ²μ λ° μμ½ κ·Έλ¦¬κ³ μ€νν΄λ³΄λ μ€ν°λ νλ‘μ νΈμ μΌνμ λλ€. μκ°νκΈ° App Store Connect API - Apple Developer app store connet λ μ§λ λͺ λ κ° μ±μ₯νμ¬ app store μ λͺ¨λ νλ«νΌμ κ±Έμ³ μ±μ μμ±νκ³ , κ΄λ¦¬νλ©° νμ₯ν μ μμ΅λλ€. λν μ§μμ μΌλ‘ App Store Connect μ μλ‘μ΄ κΈ°λ₯μ μΉ, iOS, iPadOS app κ·Έλ¦¬κ³ App Store Connect API μ μΆκ°νκ³ μμ΅λλ€. μλ μ μΆμλ κΈ°λ₯μΈ in-app events(μ± λ΄ κ΅¬μ ) μΈ λ§μΆ€ν μ ν νμ΄μ§, Mac μ© ..
- Swift
- APNS
- configurable widget
- urlsession
- RxCocoa
- containerBackground
- projectsetting
- Objective-C
- Notification
- CloneCoding
- rxswift
- μλ²ν΅μ
- MOYA
- WidgetKit
- watchOS
- MVVM
- UserDefaults
- async/await
- Algorithm
- YPImagePicker
- 2022 KAKAO TECH INTERNSHIP
- OpenSourceLibrary
- Widget
- SwiftUI
- WWDC
- IOS
- Protocol
- Firebase
- github
- WWDC22
μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Total
- Today
- Yesterday