Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SwiftData をiOSでためす
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
高橋政明
December 09, 2023
Programming
280
0
Share
SwiftData をiOSでためす
DevSapで発表したSwiftDataの概要と記事へのリンク
高橋政明
December 09, 2023
More Decks by 高橋政明
See All by 高橋政明
初期MacとQuickDrawで振り返るApple50年
masaakittakahashi
1
42
自分のiOSアプリを作ろう
masaakittakahashi
0
210
とことん楽しむプログラミング発表スライド
masaakittakahashi
0
200
Swift Playgroundsによるプログラミング コードを学ぼう3前半
masaakittakahashi
0
820
Swift Playgroundsによるプログラミング コードを学ぼう3後半
masaakittakahashi
0
700
アクセシビリティの仕組みと実装(のさわり)
masaakittakahashi
0
510
Swift Playgrounds体験会その3
masaakittakahashi
0
220
Swift Playgrounds体験会その2
masaakittakahashi
0
510
Swift Playgrounds体験会その1
masaakittakahashi
0
560
Other Decks in Programming
See All in Programming
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
110
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.4k
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
220
TSKaigi 2026 TypeScriptバックエンドのオブザーバビリティ戦略 — Datadog × NestJSの実践
taiseiyamamotoan
2
270
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
430
net-httpのHTTP/2対応について
naruse
0
430
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
440
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
270
ふつうのFeature Flag実践入門
irof
7
3.5k
AIとRubyの静的型付け
ukin0k0
0
520
SPMマルチモジュールで テストカバレッジを取得する技法
yosshi4486
0
140
Claspは野良GASの夢をみるか
takter00
0
160
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
The SEO Collaboration Effect
kristinabergwall1
1
470
Technical Leadership for Architectural Decision Making
baasie
3
390
Chasing Engaging Ingredients in Design
codingconduct
0
210
Navigating Team Friction
lara
192
16k
How to Ace a Technical Interview
jacobian
281
24k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
210
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
190
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
150
Transcript
SwiftDataΛiOSͰͨΊ͢ շٕ҇ɹߴڮ໌ɹɹ 𝕏 @houheiɹɹhttps://note.com/kaigian 202312݄9ɹDevSapൃදࢿྉ
noteͷهࣄ • SwiftDataΛiOSͰͨΊ͢ લΛࢼಡͰ͖Δ༗ྉهࣄ • ߪಡํ๏ • ϚΨδϯɹߪಡͰશهࣄߪಡɹࠓޙͷՃ͕͋ΕͦΕಡΊΔ •
هࣄ୯ҐɹʮSNSϓϩϞʔγϣϯػೳʯͰɹׂҾߪಡ • 𝕏 ʢچTwitterʣ@houheiͷهࣄΛݟ͚ͭͯϙετΛϦϙετ͢Δ
ϚΨδϯURL https://note.com/kaigian/m/m4350f04fed f b • ֤هࣄʹϦϯΫ͍ͯ͠·͢ • લࢼಡͰ͖·͢
SwiftData • ͬͯ·͢ʁ • iOS 17Ҏ߱ɹWWDC2023ͰൃදɹSwiftઐ༻ • SwiftUIͱҰॹʹ͏ͱগͳ͍ίʔυͰࡁΉ • υΩϡϝϯτ͕·ͩগͳ͍ɹʢWWDCޙΑΓ͍ͩͿϚγʹͳͬͨʣ
• αϯϓϧͷղઆϖʔδ͕ྑ͍ࢿྉʹͳ͍ͬͯΔ • σϑΥϧτͰӬଓԽσʔλ͕Ͳ͜ʹอଘ͞ΕΔ͔ͳͲ͕ॻ͔Ε͍ͯͳ͍
SwiftDataΛγϯϓϧʹͨΊ͢ • WWDCޙͱঢ়گมΘ͍ͬͯΔ • υΩϡϝϯτͱαϯϓϧ͕Ճ͞Εͨ • Query͕ϚΫϩʹมߋ • XcodeͷςϯϓϨʔτ •
ςϯϓϨʔτͷίʔυDateσʔλΛొ͢Δɹొը໘ෆཁͰγϯϓϧ • ςϯϓϨʔτՃ͚ͩͰͳ͘আؚΉ • Xcode ࣮ߦ࣌ʹ Debug navigatorɹDisk > Files ʢҰ൪Լʣ
CSVϑΝΠϧσʔλΛಡΈSwiftDataͰ͏ • SwiftDataͷςϯϓϨʔτ͔Β গ͠ͷมߋͰӬଓԽσʔλ࡞ઐ༻πʔϧΛ࡞Δ͜ͱ͕Ͱ͖Δ • ΞϓϦͷӬଓԽσʔλΛ࡞͢Δαϯϓϧɹஶऀͱ࡞σʔλͳͲͰ͑Δ • CSV࠷খݶͷίʔυͰಡΈࠐΊΔɹҾ༻ූॲཧͳͲҙඞཁ
ΞϓϦىಈ࣌ͷදࣔใʹSwiftDataΛ͏ • ӬଓԽ.store ModelCon f iguration ͷΠχγϟϥΠβͰࢦఆ͢Δ • URL
εΩʔϜ໊ʮ f ileʯͷ໌͕ࣔඞཁ • ॳճىಈ࣌ʹσʔλՃɺΈ୯७͕ͩҙඞཁ • URLࢦఆ͕ਖ਼͘͠ͳ͍ͱCoreDataͷΤϥʔ͕දࣔ͞ΕΔ
ϚΫϩ ͱ Φϒβϕʔγϣϯ • ͲͪΒ iOS 17Ҏ߱ • ϚΫϩͷதͰϚΫϩΛ͑Δɹల։Ͱ͖Δ •
Observation • ޮ͕ྑ͍͕ͣͩWWDCͰࣃΕ͕ѱ͔ͬͨ • SwiftUIઐ༻Ͱͳ͍ • ObservableObjectͰൃੜ͢ΔෆཁͳϏϡʔߋ৽ͷ৺ͳ͘ͳΔ ➡Observationඞཁͳ߹ͷΈߋ৽
None
SwiftDataͷݕࡧɾߜΓࠐΈͱฒସ͑ • ϏϡʔΠχγϟϥΠβ Λ͏ͱ ಈతʹݕࡧฒସ͑Ͱ͖Δ • ݕࡧߜΓࠐΈ݅ʹରԠͨ͠ɹPredicateΛฦؔ͢ɹΛϞσϧʹΈࠐΉ ɹෳͷϏϡʔͰಉ݅͡ʹͰ͖ศར • PredicateΛฦؔ͢ɹར༻͢ΔϏϡʔ͕Ұ͚ͭͩͰ
ɹ݅Ͱ༻͢ΔϓϩύςΟ͕֬ೝ͘͢͠ɹϞσϧʹஔ͘ͷ͕ݟ͍͢
ݕࡧ݁Ռͷදࣔॱͱ݁Ռͳ͠ • දࣔॱɹ୯७ʹΩʔύεࢦఆ͚ͩͰ Finderॱ ʹͳΒͳ͍ • ࣈΛؚΉ߹ Finderॱ ͕·͍͠ɹSortDescriptorΛ͏ •
SwiftUI ʹ ContentUnavailableView ͳͲ৽͍͠Ϗϡʔ͕Ճ͞Ε͍ͯΔ • ContentUnavailableView ͓͢͢Ί • μΠφϛοΫλΠϓͱμʔΫϞʔυʹରԠࡁΈ • ContentUnavailableView.search ϩʔΧϥΠζෆཁͰڞ௨ͷද͕ࣔՄೳ ͳλΠϓϓϩύςΟ
ContentUnavailableView.search ContentUnavailableView
࠷ޙʹ • SwiftData SwiftUI ͱͷΈ߹ΘͤͰศརʹ͑Δ • υΩϡϝϯτ·ͩগͳ͍ • αϯϓϧίʔυͱͦͷղઆϖʔδوॏͳ࣮ྫͰʹͨͭ
• ςϯϓϨʔτ͔Βελʔτ͢Δͷ͕ྑ͍ • ࠓޙʹظ • SwiftDataΛiOSͰͨΊ͢ɹΛࢀߟʹ͍ͯͩ͘͠͞