Open hyun99999 opened 2 years ago
*λ³Έ κΈμ WWDC λ₯Ό λ³΄κ³ , λ²μ λ° μμ½ κ·Έλ¦¬κ³ μ€νν΄λ³΄λ μ€ν°λ νλ‘μ νΈμ μΌνμ λλ€.
SwiftUI μμ μ°¨νΈλ₯Ό λ§λ€κΈ° μν Apple μ μλ‘μ΄ νλ μμν¬μ λλ€.
(iOS 16.0+, iPad 16.0+, macOS 13.0+, Mac Catalyst 16.0+, tvOS 16.0+, watchOS 9.0+ λΆν° μ¬μ©μ΄ κ°λ₯ν©λλ€.)
Apple μμλ μκ°νλ₯Ό μν λͺ¨λ² μ¬λ‘λ₯Ό μ°κ΅¬νλλ° μλ μ 보λμ΅λλ€. μ°¨νΈλ νΉμ μκ° λ²μμ λν νΈλλμ μ£Όκ° λ³λ, λ§μ§λ§ μ΄λ μ€ μ¬λ°μ, μ λ μκ°μ μμν΄μ§ λμ κ°μ λ°μ΄ν°μ λν μΆκ°μ μΌλ‘ μ μ©ν 컨ν μ€νΈλ₯Ό νμν λ κ°μ₯ μ μλνλ κ²μ λ°°μ μ΅λλ€.
κ·Έλ¦¬κ³ μ΄κ²λ€μ λͺ¨λ νλ«νΌμ λ§μ μ μ€ μΌλΆμΌ λΏμ λλ€.
μ¬λ¬λΆμκ² μ±μμ μ μ΅νκ³ μ¦κ±°μ΄ μ°¨νΈλ₯Ό λ§λ€ μ μλλ‘ μλ‘μ΄ νλ μμν¬λ₯Ό μκ°νκ² λμ΄ κΈ°μ©λλ€.
Swift Charts λ Apple μ΄ λμμΈν μ°¨νΈλ₯Ό λ§λ€κΈ° μν μ μ°ν νλ μμν¬μ λλ€. SwiftUI μ λμΌν μ μΈμ ꡬ문μ μ¬μ©νλ―λ‘ μ΄λ―Έ Swift Charts μ μΈμ΄λ₯Ό μκ³ μμ΅λλ€.
μ€λμ Swift Charts λ₯Ό μ¬μ©νμ¬ νμ ν¬μΌμ΄ν¬ νΈλ νΈλμ΄ μ±μΌλ‘ ν맀λ₯Ό μΆμ νλ κ²μ λλ μ°¨νΈλ₯Ό λ§λ€μ΄ λ³΄κ² μ΅λλ€. νΈλμ cachapa(μΉ΄μ°¨ν), injera(μΈμ λΌ), crepe(ν¬λ μ΄ν), jian bing(μ§μλΉ), dosa(λμ¬), american pancake μ 곡ν©λλ€.
νΈλνΈλμ μ§λ 30μΌ λμ 4500κ° μ΄μμ ν¬μΌμ΄ν¬λ₯Ό μ 곡νμ΅λλ€. cachapa κ° κ°μ₯ μΈκΈ°κ° μμκ³ μ±μ μ΄λ―Έ μ λͺ©μμ κ°μ₯ μ€μν μ 보λ₯Ό 보μ¬μ€λλ€.
μ¬μ― κ°μ ν¬μΌμ΄ν¬μ λν μμΈν λΆμμ 보μ¬μ£Όλ μ°¨νΈλ₯Ό μΆκ°ν΄ λ³΄κ² μ΅λλ€.
Swift Charts μμλ ꡬμ±λ³λ‘ μ°¨νΈλ₯Ό μμ±ν©λλ€. λ§λ μ°¨νΈμ μ£Όμ κ΅¬μ± μμλ bar(λ§λ)
μ
λλ€. μ΄λ¬ν μκ°μ μμλ₯Ό marks
λΌκ³ λΆλ¦
λλ€. Xcode λ‘ μ΄λν΄μ μ°¨νΈλ₯Ό λ§λ€μ΄ λ΄
μλ€.
Charts λ₯Ό μΆκ°νλ κ²μΌλ‘ μμν©λλ€. bar λ₯Ό λ§λ€κΈ° μν΄μ BarMark λ₯Ό Chart μμ μΆκ°ν©λλ€. bar λ₯Ό cachapa μ μλλ‘ νμνκΈ° μν΄μ μ΄λ¦κ³Ό ν맀λμ μ€μ ν΄μΌ ν©λλ€.
μ°λ¦¬λ ν¬μΌμ΄ν¬μ μ΄λ¦μμ κ°μ΄ νμλλλ‘ bar μ xμμΉλ₯Ό μ€μ νμ΅λλ€.
.value
λ©μλμ 첫 λ²μ§Έ μΈμλ κ°μ λν μ€λͺ
μ΄κ³ , λ λ²μ§Έ μΈμλ κ° μ체μ
λλ€. μ΄μ preview μ λ¨μΌ λ§λκ° νμλ©λλ€.
y μμ±μΌλ‘ ν맀λ cachapa μ μκ° μ€μ λμ΄μΌ ν©λλ€. .value λ₯Ό μ¬μ©νμ¬ λ§λμ κΈΈμ΄λ₯Ό λνλ΄λ xμΆκ³Ό yμΆμ λ μ΄λΈλ μλμΌλ‘ μμ±ν©λλ€. λ λ²μ§Έ λ§λλ₯Ό μΆκ°ν΄ λ³΄κ² μ΅λλ€.
κ°λ³ mark λ₯Ό λ§λ€κ³ μ±μ νμλλ κ²μ 보λ μ’λ€μ! νμ§λ§ μΌλ°μ μΌλ‘ ꡬ쑰체 λ°°μ΄κ³Ό κ°μ 컬λ μ μΌλ‘ ꡬλλλ μ°¨νΈλ₯Ό λ§λ€κ³ μΆμ΅λλ€. λ¨Όμ , ν¬μΌμ΄ν¬ ν맀λ₯Ό μν ꡬ쑰체λ₯Ό μΆκ°νλ κ²μΌλ‘ μμν΄λ³΄κ² μ΅λλ€.
μ°λ¦¬λ λ°λ³΅μ μΌλ‘ μ¬μ©νκ³ μΆκΈ° λλ¬Έμ Identifiable λ‘ κ°λ₯νκ² ν©λλ€. κ·Έλ¦¬κ³ name μ λ°ννλ id μ°μ° νλ‘νΌν°λ₯Ό μ μν©λλ€.
μ΄μ λ°μ΄ν° μΈνΈλ‘ ν¬μΌμ΄ν¬ λ°°μ΄μ λ§λ€ μ μμ΅λλ€. μΈλΆ λ°μ΄ν° μμ€μμ λ‘λν μ μμ§λ§ μ¬κΈ°μλ μ½λμμ μ μνκ² μ΅λλ€. cachapa μ injera μΈμ crepe λ μΆκ°νκ² μ΅λλ€. ForEach
λ₯Ό μ¬μ©νμ¬ λ§λ μ°¨νΈλ₯Ό λ§λ€ μ μμ΅λλ€.
ForEach
κ° μ°¨νΈμ μ μΌν 컨ν
μΈ μΈ κ²½μ° λ°μ΄ν°λ₯Ό Chart μ΄λμ
λΌμ΄μ μ μ§μ λ£μ μλ μμ΅λλ€.
μ΄μ jian bing, dosa λ° american pancake μ λν΄ μΆκ°ν΄λ³΄κ² μ΅λλ€.
λ μ΄λΈλ€μ΄ μλ‘ κ°κΉμμ§κ³ μλ κ²μ λ³Ό μ μμ΅λλ€. x μ y λ₯Ό κ΅ννμ¬ κ° bar μ λ λ§μ 곡κ°μ μ€ μ μμ΅λλ€. Swift Charts νλ μμν¬λ μλμΌλ‘ μ μ ν μΆ μ€νμΌμ μ ννμ¬ μ°¨νΈλ₯Ό μλ¦λ΅κ² λ§λλλ€.
κ·Έλ¦¬κ³ Xcode μ μλ‘μ΄ λ³ν κΈ°λ₯μ μ¬μ©ν΄μ λ€ν¬ λͺ¨λμ λ€μν κΈκΌ΄ ν¬κΈ°, μ₯μΉ ν¬κΈ° λ° λ°©ν₯μ μ μνκ³ accessibility λ₯Ό μ§μνλ€λ κ²μ μ μ μμ΅λλ€.
μκ°μ ννμ λ°μ΄ν°μ μ‘μΈμ€νλ €λ©΄ λ³Ό μ μμ΄μΌ ν©λλ€. Swift Charts λ μκ°νμ λ°μ΄ν°λ₯Ό VoiceOver
μ λ
ΈμΆνμ¬ λͺ¨λ μ¬λμ΄ μΈκΈ° μλ ν¬μΌμ΄ν¬μ μΈλΆμ¬νμ νμν μ μλλ‘ μ 곡ν©λλ€.
μ€λ₯Έμͺ½μΌλ‘ μ€μμ΄ννλ©° μμ°¨μ μΌλ‘ λ§λ κ·Έλνμ μ 보λ₯Ό λ€μ μ μλ€.
μ΄ μ°¨νΈλ Apple μ΄ 2021 μ λ°νν sonifications(μμν) λ₯Ό ν¬ν¨νμ¬ Audio Graphs λ₯Ό μ§μν©λλ€.
play audio graphs λ₯Ό ν΅ν΄ λΉνμμ λμ΄μ λ°λΌμ μ 보λ₯Ό λ€μ μ μλ€.
μ°λ¦¬λ νλ νΈλ μ±μ μ 보λ₯Ό μ 곡νκ³ μ κ·Ό κ°λ₯ν μ°¨νΈλ₯Ό μΆκ°νκΈ° μν΄ Swift Charts λ₯Ό μ¬μ©νμ΅λλ€. μ°¨νΈλ μ¬λ¬κ°μ§ μ€νμΌμ ν¬μΌμ΄ν¬λ₯Ό μΌλ§λ ν맀νλμ§ λ³΄μ¬μ€λλ€.
κ° μ€νμΌμ λν μμ½ μΈμλ νΈλ νΈλμλ μΌλ³ ν맀 λ°μ΄ν°λ μμ΅λλ€.
νΈλμ Cupertino μ San Francisco μ μ£Όμ°¨ν μ μμ΅λλ€. μ°λ¦¬λ μ°¨νΈλ₯Ό μ¬μ©νμ¬ ν¬μΌμ΄ν¬ νΈλμ΄ μ£Όμ€μ μ£Όμ°¨ν μμΉλ₯Ό κ²°μ νλλ° λμμ΄ λκ³ μ ν©λλ€. μ΄ μ§λ¬Έμ λ΅νκΈ° μν΄ λ°μ΄ν°λ₯Ό λ λμμ time series λ₯Ό μκ°νν΄ λ³΄κ² μ΅λλ€.
μμΌλ‘ λ€μν λμμΈμ νμνλ κ²μ΄ μΌλ§λ μ¬μ΄μ§ μ°¨νΈλ₯Ό μΈλ² λ°λ³΅ν΄λ³΄κ² μ΅λλ€.
μμΌλ³λ‘ ν맀λ νμΌμ΄ν¬μ νκ· μλ₯Ό 보μ¬μ£Όλ bar μ°¨νΈλ₯Ό λ§λ€κ² μ΅λλ€.
ν맀 λ°μ΄ν°μλ λ μ§λ‘ μ μ₯λ μμΌκ³Ό νλλ ν¬μΌμ΄ν¬μ μκ° μμ΅λλ€.
λ μ§μμ νμλλλ‘ λ§λμ x μμΉλ₯Ό μ€μ νμ΅λλ€. ν맀μμλΆν° νμλλλ‘ λμ΄λ₯Ό μ€μ ν΄λ³΄κ² μ΅λλ€.
λ λ²μ§Έ λ°λ³΅μμλ San Francisco λ°μ΄ν°λ₯Ό μΆκ°ν΄ λ³΄κ² μ΅λλ€. μνλμμ€μ½μ ν맀 λ°μ΄ν°λ sfData λ³μμ μμ΅λλ€. μ°λ¦¬λ λ λμ μ¬μ΄λ₯Ό toggle νκ³ κ° λμμ λν λ§λ μ°¨νΈλ₯Ό λ³΄κ³ μΆμ΅λλ€.
state λ³μμ city λ₯Ό μΆκ°νλ κ²μΌλ‘ μμν©λλ€.
κ·Έλ° λ€μ SwiftUI picker λ₯Ό μΆκ°ν©λλ€. κ·Έλ¦¬κ³ λ°μ΄ν°λ₯Ό Cupertino μ San Francisco μ¬μ΄λ₯Ό μ ννλ λ°μ΄ν°λ‘ λ°κΎΈλ κ²μ λλ€. ν κΈμ μ ννλ©΄ μ°¨νΈκ° λ λμ κ°μ μ νλ©λλ€.
Swift Charts λ SwiftUI μ λλ©μ΄μ κ³Ό ν¨κ» μλνλ―λ‘ easyInOut μΌλ‘ μ ν μ λλ©μ΄μ μ μ§μ ν μ μμ΅λλ€.
λ§μ§λ§ λ°λ³΅μΌλ‘ λ μ리μ¦λ₯Ό λͺ¨λ κΊ½μ μ ν μ°¨νΈλ‘ νμν κ²μ λλ€. λ λμμ λ°μ΄ν°λ μΌλ ¨μ λ°°μ΄λ‘ λμ΄ μμ΅λλ€. λ μ리μ¦λ₯Ό λͺ¨λ 보μ¬μ£ΌκΈ° μ μ Cupertino λ°μ΄ν°μ μ€μ μ λκ² μ΅λλ€.
Chart μ΄λμ λΌμ΄μ λ ForEach μ²λΌ μλν μ μλ€κ³ νμ΅λλ€. κ·Έλ° λ€μ Cupertino μ λν νΉμ λ°μ΄ν°λ₯Ό Series μ sales data λ‘ λ°κΏ μ μμ΅λλ€.
λ λμμ λ°μ΄ν°λ₯Ό ꡬλΆνκΈ° μν΄μ bar μ μμμ μ ν μ μμ΅λλ€. μ΄λ₯Ό νμνκΈ° μν΄μ Swift Charts λ μ°¨νΈ μλμ λ²λ‘λ₯Ό λ§λλλ€.
San Francisco λ°μ΄ν°λ₯Ό μΆκ°ν΄ λ³΄κ² μ΅λλ€.
preview μμ λ³Ό μ μλ―μ΄ Swift Charts λ μλμΌλ‘ San Francisco μμμμ μ ν©λλ€.
Charts μλ νΉμ 컨ν μ€νΈμ λν λ°μ΄ν°κ° νμλλ©° λ°μ΄ν°λ μ§λ¬Έμ΄ λ³κ²½λλ©΄ μκ°νλ λ³κ²½ν΄μΌ ν μ μμ΅λλ€. Swift Charts λ λΉ λ₯΄κ² λ³κ²½νμ¬ λ€μν λμμΈμ νμν μ μλλ‘ ν΄μ€λλ€. stacked bar chart(λμ λ§λν μ°¨νΈ)λ ν루 νκ· μ΄ ν맀μ‘μ νμνλλ° μ ν©ν©λλ€.
νμ§λ§, λ λμλ₯Ό λΉκ΅νκ³ μΆλ€λ©΄ point λλ line chart κ° λ λμ κ²μ λλ€. mark type μ BarMark μμ PointMark λ‘ λ³κ²½νκ±°λ LineMark λ‘ λ³κ²½ν μ μμ΅λλ€.
μ°¨νΈλ μ¬λ¬ mark λ₯Ό κ²°ν©ν μ μμ΅λλ€. μλ₯Ό λ€μ΄ PointMark λ₯Ό μΆκ°ν μ μμ΅λλ€.
series λ₯Ό μμ μμ΄ κ΅¬λΆν μ μλλ‘ λμμμ νμλ symbol μ μ€μ ν΄λ³΄κ² μ΅λλ€.
μ΄μ κ° μ μ μμκ³Ό κΈ°νΈλ‘ λμλ₯Ό λνλ λλ€. μ μ μ μ νμνλ κ²μ΄ μΌλ°μ μ΄κΈ° λλ¬Έμ Swift Charts λ LineMark μ symbol modifier λ₯Ό μ μ©νλ μΆμ½νμ΄ μμ΅λλ€. μ μ μ€νμΌμ μ μ λ§κ² μ‘°μ λ©λλ€.
μ΄ μ°¨νΈλ νλ₯ν©λλ€. μΌμ£ΌμΌ λμμ ν맀 νΈλλλ₯Ό μ½κ² λΉκ΅ν μ μμ΅λλ€.
Swift Charts λ₯Ό μ¬μ©νμ¬ μ½κ³ λΉ λ₯΄κ² λ°λ³΅νλ λμμ μ°¨νΈλ₯Ό μ±μ κ³ μ ν μ€νμΌμ 맀λλ½κ² ν΅ν©ν μ μμ λ§νΌ μ μ°νκ² λ§λλ λ°©λ²μ λν΄μ λ€μ μ΄ν΄λ³΄κ² μ΅λλ€.
Swift μμλ Mark Properties κ° μλ Marks ꡬμ±μΌλ‘ μ°¨νΈλ₯Ό μμ ν©λλ€. Pancake app μμ 3κ°μ λ€λ₯Έ mark μ 4κ°μ mark properteis λ‘ μ°¨νΈλ₯Ό ꡬμ±νμ΅λλ€.
μλ₯Ό λ€μ΄ x μΆκ³Ό y μΆμ΄ μλ bar mak λ‘ κ°λ¨ν λ§λ μ°¨νΈλ₯Ό λ§λ€ μ μμ΅λλ€.
λν, points λλ line charts μ²λΌ λμμΈμ λΉ λ₯΄κ² νμν μ μμ΅λλ€.
λν, foregroundStyle
κ³Ό κ°μ μμ±μ μΆκ°ν΄μ line chart μ multiple series λ₯Ό 보μ¬μ€ μ μμ΅λλ€.
κ·Έλ¦¬κ³ chart λ νλμ mark λ§ κ°μ§ νμκ° μμ΅λλ€. μ°λ¦¬λ points μ lines λ₯Ό μ‘°ν©νμ΅λλ€.
Swift Charts λ μ€λ μ¬μ©νλ κ²λ³΄λ€ ν¨μ¬ λ λ§μ marks μ mark properties λ₯Ό μ§μν©λλ€. λν, νμ₯ κ°λ₯νλ©° 컀μ€ν marks λ₯Ό μΆκ°ν μ μμ΅λλ€.
marks μ mark properties λ μ μ μμ devlarative building blocks μΌλ‘ κ΄λ²μν μ°¨νΈ λμμΈμ ννν μ μμ΅λλ€.
μ΄λ¬ν building block μ μ‘°ν©νμ¬ λ κ±°λν λ°μ΄ν°μ μκ°νλ₯Ό λ§λ€ μ μμ΅λλ€.
κ·Έλ¦¬κ³ μ΄λ―Έ 보μ¬λλ¦° κ² μ²λΌ dark mode, different device screen sizes, Dynamic Type, VoiceOver κ·Έλ¦¬κ³ Audio Graphs λ₯Ό 무λ£λ‘ μ§μν©λλ€. μΆκ°λ‘ High-Contrast mode(accessibility λλΉ μ€μ ) λ₯Ό μ§μν©λλ€. λ§μ§λ§μΌλ‘ Swift Charts λ μ¬λ¬ locale λ€μμ μλνλ©° multiplatform μ λλ€. λμΌν μ½λλ Apple νλ«νΌλ€μμ λͺ¨λ μλν©λλ€. λμΌν customizations κ° λͺ¨λ κ³³μμ λμνλ―λ‘ κ° νλ«νΌμ λ§κ² μ‘°μ ν μ μμ΅λλ€.