728x90 π iOS61 [WWDC20] The Push Notifications primer (APNs / iOS νΈμ λ±λ‘) νΈμ μλ¦Όμ΄ λ¬΄μμΈμ§, μ μ¬μ©νλμ§ μ€λͺ ν΄μ£Όκ³ μ±μ μΆκ°ν μ μλ λ°©λ²μ μ€λͺ ν΄μ£Όλ μμμ λν΄ μ 리ν κΈμ λλ€! Introducing Push Notification νΈμ μλ¦Όμ κΈ°λ₯ Engagement : νΈμ μλ¦Όμ ν΅ν΄μ μ±μ΄ μνΈμμ© ν μ μλ€. Provide updates : μ±μ μ€μκ°μΌλ‘ μ λ°μ΄νΈλ₯Ό μ 곡ν μ μλ κΈ°λ₯μ μ 곡νλ€. Dynamic experiences : μ± λ΄μ λ³κ²½μ¬νμ΄ μμ λ λ€μ΄λλ―Ήν κ²½νμ μ€ μ μλ€. νΈμ μλ¦Όμ μΆκ°νμ λ μ΄μ μ 무μμ΄ μμμ§? Foreground not required : μ±μ΄ νμ ν¬κ·ΈλΌμ΄λμ μμ νμκ° μλ€. νΈμ μλ¦Όμ μ±μ μνμ κ΄κ³μμ΄ μ λ¬λκ³ νμν κ²½μ° μ€νλλ€. Power efficient : νΈμ μλ¦Όμ μ λ ₯μ λ§.. 2023. 2. 14. [WWDC18] iOS Memory Deep Dive iOS Memory Deep Dive - WWDC18 - Videos - Apple Developer Discover how memory graphs can be used to get a close up look at what is contributing to an app's memory footprint. Understand the true... developer.apple.com [WWDC18] iOS Memory Deep Dive Why reduce memory :: μ λ©λͺ¨λ¦¬λ₯Ό μ€μ¬μΌ νλμ§? Memory footprint :: λ©λͺ¨λ¦¬ μ¬μ©λμ λν μ΄λ‘ μ μΈ μ΄μΌκΈ° Tools for profiling footprint :: λ©λͺ¨λ¦¬ μ¬μ©λμ νμΈν μ μλ ν΄ μκ° Images :: λ©λͺ¨λ¦¬λ₯Ό λ§μ΄ .. 2022. 11. 27. [WWDC19] Advances in Collection View Layout - Part 1 Advances in Collection View Layout - WWDC19 - Videos - Apple Developer Collection View Layouts make it easy to build rich interactive collections. Learn how to make dynamic and responsive layouts that range... developer.apple.com π WWDC19 - Advances in Collection View Layout Current State-of-the-Art UICollectionView λ iOS 6 μμ μ²μ μκ°λμλ€. λ°μ΄ν°λ₯Ό λ λλ§νλ ν΄λμ€μ CollectionView μ layout μ κ΄λ¦¬νλ λκ°μ ν΄λμ€κ° νμν.. 2022. 10. 17. [WWDC19] Data Flow Through SwiftUI - Part 2 Working With External Data π¬ Part1 μμλ ... μ μ μ SwiftUI λ·° κ° λ°μ΄ν° νλ¦μ λν΄ μκΈ°ν΄λ΄€μλ€. @State νλ‘νΌν° λνΌλ₯Ό ν΅ν΄ κ°μ΄ λ³κ²½λ¨μ νΈλνΉνλ λ³μλ₯Ό λ μ μκ³ , @Binding μ ν΅ν΄ μμλ·°μμλ κ°μ λ°μ΄ν°λ₯Ό λ°λΌλ³΄λλ‘ ν μ μμλ€. πβοΈ Part2 μμλ? λ·° λ΄λΆμμμ λμμ κ΄λ¦¬νλ @State λ³μλ‘λ λΆκ°λ₯ν μΈλΆμμ λ°μνλ μ΄λ²€νΈ, μΈλΆμμ κ΄λ¦¬λλ λ°μ΄ν°λ μ΄λ»κ² μ²λ¦¬ν΄μΌν μ§ λ€λ€λ³Έλ€. κ²°λ‘ μ μΌλ‘ μ μ μΈν°λ μ μ΄ μλ timer, notification μ²λΌ μΈλΆμμ λ°μνλ μ΄λ²€νΈλ λμΌν νλ¦μΌλ‘ λμνλ€. action μμ± -> State κ° λ³κ²½ -> λ·°μ λν μλ‘μ΄ μΉ΄νΌ -> μ μ μκ² μλ‘κ² λ³΄μ¬μ€ SwiftUI.. 2022. 8. 30. [WWDC19] Data Flow Through SwiftUI - Part 1 Principles of Data Flow Tools for Data Flow SwiftUI μμ μκ°λλ Property, BindableObject,@Environment , @Binding ,@State 미리 μ€ν¬νμλ©΄ BindableObject -> ObservableObject λ‘ μ΄λ¦μ΄ λ³κ²½λ¨ μ΄λ² μμμ ν΅ν΄μ ν΄λΉ ν΄λ€μ΄ μ΄λ»κ², μΈμ μ°μ΄λμ§ μκ² λ κ²μ΄λ€! Principle SwiftUI λ°μ΄ν° νλ‘μ°λ₯Ό λμμΈνκΈ° μν λκ°μ μ리λ₯Ό μμ보μ. First principle "Data Access as a Dependency" ν κΈμ μκ°ν΄λ³΄μ. ν κΈ λ·°λ₯Ό 그리기 μν΄μλ Bool νμ μ λ°μ΄ν°κ° νμνκ³ , λ°μ΄ν°κ° μλ‘μ΄ κ°μΌλ‘ λ³κ²½λ λλ§λ€ λ·°λ₯Ό λ³κ²½ν΄μ€μΌ νλ€. λ°μ΄ν°κ° λ³κ²½λ λ.. 2022. 8. 30. [WWDC19] LLDB: Beyond "po" LLDB λ μ± λ°νμ μ€μ λλ²κΉ ν μ μλ ν΄μ΄λ€. "po" κΈ°λ³Έμ μΌλ‘ LLDB μμ po ~~ λͺ λ Ήμ΄λ₯Ό μμ±νλ©΄ ν΄λΉ νμ κ³Ό νλ‘νΌν°μ λν΄ λ³΄μ¬μ€λ€. CustomDebugStringConvertible νλ‘ν μ½μ μ±ννκ³ , debugDescription μ μΆκ°νλ©΄ Object μ΄λ¦μ΄ λνλλ κ³³μ 컀μ€ν νκ² μ€λͺ μ μΆκ°ν μ μλ€. Sub structure μ λν 컀μ€ν μ΄ νμνλ€λ©΄ CustomReflectable μ μ°Ύμ보μ. po λͺ λ Ήμ΄λ κ°μ²΄λ₯Ό νλ¦°ν νλ κ² μΈμλ, λ©μλ νΈμΆ λ±μ λμμ ν μ μλ€. po λ μ¬μ€ νΉμ λͺ λ Ήμ΄λ₯Ό alias λ‘ λ¨μΆμν¨ κ²μ΄λ€. λ€λ₯Έ μ΄λ¦μΌλ‘ λμΌνκ² λ§λ€ μλ μλ€. expression --object-description μ μ€μΈκ² "po" Un.. 2022. 7. 4. [iOS] SwiftUI LazyVStack LazyHStack :: lazy load views μλ νμΈμ! μ€λμ SwiftUI μ Lazy ν€μλλ₯Ό μ 리νλ €κ³ ν©λλ€. μ§λλ²μ VStack, HStack, ZStack μ λν΄μ μ 리λ₯Ό νμλλ°, ZStack μ μ μΈνκ³ λ μμ Lazy λΌλ ν€μλκ° λΆμ LazyVStack, LazyHStack μ΄ μμ΅λλ€ π Lazy λΌλ ν€μλκ° λΆλ 건 μ΄λ€ μ°¨μ΄κ° μλμ§ κΆκΈν΄μ μ°Ύμλ΄€μ΄μ. π LazyVStack LazyHStack :: lazy load views LazyVStack μ VStack κ³Ό λμΌνκ² vertical (μΈλ‘) λ°©ν₯μΌλ‘ νλͺ©λ€μ 보μ¬μ£Όλ λ·°μ΄μ§λ§, κ° νλͺ©μ΄ νμν λλ§ μμ±ν©λλ€. LazyHStack μ Horizontal (κ°λ‘) λ°©ν₯μΌλ‘, LazyVStack κ³Ό λ°©ν₯λ§ λ€λ₯΄κ³ λμΌν©λλ€! Stack μ΄ lazy νλ€λ κ².. 2022. 6. 7. [iOS] SwiftUI property wrapper @State @Binding @State SwiftUI λ state λ‘ μ μΈν νλ‘νΌν°μ μ μ₯μλ₯Ό κ΄λ¦¬νλ€. ν΄λΉ νλ‘νΌν°μ κ°μ΄ λ³κ²½λ λ, SwiftUI λ κ°μ μμ‘΄νκ³ μλ λ·° κ³μΈ΅κ΅¬μ‘°μ λΆλΆμ μ λ°μ΄νΈνλ€. State νλ‘νΌν°λ νλμ λ·° μμμ μ¬μ©λλ κ°μΌλ‘, μΌλ°μ μΌλ‘ private ν€μλλ₯Ό λΆμ¬μ μ¬μ©νλ€. State instance λ κ°(value)μ μ½κ³ μΈ μ μλ ννμ΄κΈ° λλ¬Έμ, value μ λμΌνμ§λ μλ€. state κ° κ°κ³ μλ value μ μ‘μΈμ€νκΈ° μν΄μλ, property name μ ν΅ν΄ μ κ·Όνλ©΄ λλ€. ν΄λΉ κ°μ wrappedValue μμ±μ λ°ννλ€. wrappedValue λ state λ³μκ° μ μ₯νκ³ μλ κ°μ μ κ·Όνλ νλ‘νΌν°μ΄μ§λ§, wrappedValue λ₯Ό μ§μ μ κ·Όν΄μλ μλ.. 2022. 6. 2. [iOS/SwiftUI] Text, Image κΈ°λ³Έ μ 리 + μμ€ν μ΄λ―Έμ§ βοΈ Text Text λ νμ€ μ΄μμ μ½κΈ° μ μ© κΈμλ₯Ό νννκΈ° μν View μ λλ€. Text initializer Text μμ±μλ μ¬λ¬κ°μ§κ° μλλ°, μ΄λ―Έμ§λ‘λ μμ±ν μ μλκ² UIKit κ³Όλ λ€λ₯Έκ±° κ°μμ. NSAttributedString μ μ¬μ©νλ©΄ κ°λ₯νκΈ΄ νμ§λ§, κΈ°λ³Έμ μΌλ‘ μ΄λ―Έμ§λ₯Ό ν μ€νΈμ μ°κ²°ν μ μκ² μ 곡ν΄μ£Όλ€μ. init(String) → λ¨μ λ¬Έμμ΄, Localized κ΄λ ¨ μμ±μλ λ°λ‘ μμ΄μ. init(AttributedString) → NSAttributedString μ΄λ λ€λ¦ λλ€. (+iOS15) init(Image) → λ€λ₯Έ Text λ€μ΄λ μ°κ²°νκΈ°μν Image init(_ date: Date, style: Text.DataStyle) Text.DataStyle .. 2022. 5. 5. μ΄μ 1 2 3 4 5 Β·Β·Β· 7 λ€μ 728x90