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
日付の繰り返しの話 / Mobile Act OSAKA 14
Search
Hiroki Nagasawa
October 18, 2024
Programming
0
13
日付の繰り返しの話 / Mobile Act OSAKA 14
Mobile Act OSAKA 14:
https://mobileact.connpass.com/event/330822/
Hiroki Nagasawa
October 18, 2024
Tweet
Share
More Decks by Hiroki Nagasawa
See All by Hiroki Nagasawa
プラットフォームに馴染むモバイルアプリデザイン / Mobile App UI Design Lunch LT
pixyzehn
0
96
個人開発こそ世界へ / Indie App Development Lunch LT 2
pixyzehn
1
1.1k
自分のために作ったアプリが、グローバルに使われるまで / Indie App Development Lunch LT
pixyzehn
1
270
Other Decks in Programming
See All in Programming
Researchlyの開発で参考にしたデザイン
adsholoko
0
110
CSC509 Lecture 09
javiergs
PRO
0
290
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
120
モテるデスク環境
mozumasu
3
1.4k
CSC509 Lecture 07
javiergs
PRO
0
260
Blazing Fast UI Development with Compose Hot Reload (droidcon London 2025)
zsmb
0
480
iOSでSVG画像を扱う
kishikawakatsumi
0
180
AkarengaLT vol.38
hashimoto_kei
1
140
予防に勝る防御なし(2025年版) - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHP Conference Fukuoka 2025
twada
PRO
30
8.9k
PHPライセンス変更の議論を通じて学ぶOSSライセンスの基礎
matsuo_atsushi
0
110
Dive into Triton Internals
appleparan
0
450
퇴근 후 1억이 거래되는 서비스 만들기 | 내가 AI를 사용하는 방법
maryang
2
490
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
431
66k
We Have a Design System, Now What?
morganepeng
54
7.9k
Automating Front-end Workflow
addyosmani
1371
200k
Documentation Writing (for coders)
carmenintech
76
5.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
It's Worth the Effort
3n
187
28k
Done Done
chrislema
186
16k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Code Review Best Practice
trishagee
72
19k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
Transcript
Hiroki Nagasawa ͷ܁Γฦ͠ͷ
ࣗݾհ • @pixyzehn (Hiroki Nagasawa) • iOS Engineer at Doist
(2017 ~ ) • ݸਓ։ൃ at Blue Comet Labs • Expenses - ࢧग़ཧΞϓϦ
ͷ܁Γฦ͠ʹ͍ͭͯ • Expensesʹ͓͚Δࢧग़ऩೖͷ܁Γฦ͠ • ΞϓϦ(ϩʔΧϧ)Ͱ܁Γฦ͠ܭࢉΛߦ͏͜ͱ͕લఏ (ΦϑϥΠϯαϙʔτɺiCloudར༻) • ࢦఆ͞Εͨ܁Γฦ͠Φϓγϣϯ͔Β࣍ͷΛฦ͚ͩ͢ • ݁ߏ؆୯ͦ͏
ͷ܁Γฦ͠ͷ۩ମྫ Part 1 • 7͝ͱʹൃੜ͢ΔΠϕϯτ • 2िؒ͝ͱͷਫ༵ʹൃੜ͢ΔΠϕϯτ • ຖ݄25ʹൃੜ͢ΔΠϕϯτ •
3͔݄͝ͱͷ18ʹൃੜΠϕϯτ • etc…
ͷ܁Γฦ͠ͷ۩ମྫ Part 2 • 3͔݄͝ͱͷୈ3༵ʹൃੜ͢ΔΠϕϯτ • 5͔݄͝ͱͷ11ɺ15ʹൃੜ͢ΔΠϕϯτ • 4͝ͱͷ6݄ɺ10݄ͷ18ʹൃੜ͢ΔΠϕϯτ •
etc… 😅
ͷ܁Γฦ͠ͷ۩ମྫ Part 3 • 3िؒ͝ͱͷՐ༵ɺ༵ɺ༵ʹൃੜ͢ΔɺӬଓతʹ܁Γฦ͢Πϕϯτ • 3͔݄͝ͱͷ11ɺ15ɺ20ʹൃੜ͢Δɺ܁Γฦ͠ऴ͕ྃଘࡏ͢ΔΠϕϯτ • 10͝ͱͷ1݄ɺ2݄ɺ6݄ɺ10݄ͷୈ1༵ʹൃੜ͢ΔɺӬଓతʹ܁Γฦ͢Πϕϯτ •
etc… 😱
ͷ܁Γฦ͠Λཧ • ܁Γฦ͠ͷ୯Ґ (ผɺिผɺ݄ผɺผ) • ܁Γฦ͠ͷִؒ (1 ~ 999) •
܁Γฦ͠ͷऴྃ (Ӭଓతʹ܁Γฦ͢ or ܁Γฦ͠ͷऴྃ) • ܁Γฦ͠։࢝ͦͷΦϒδΣΫτʹؔ࿈͍ͯ͠Δ (ྫ: ࠷ॳʹࢧͬͨ) • AppleͷRemindersΛࢀߟ
ผͷ܁Γฦ͠ • ܁Γฦ͠ͷִؒͷΈ
िผͷ܁Γฦ͠ • ܁Γฦ͠ͷִؒ • ༵ (ෳબՄ)
݄ผͷ܁Γฦ͠ • ܁Γฦ͠ͷִؒ • “Ͱࢦఆ”λΠϓ (ෳબՄ) • “िͱ༵λΠϓ”
ผͷ܁Γฦ͠ • ܁Γฦ͠ͷִؒ • ݄ (ෳબՄ) • ༵ (Φϓγϣφϧ)
܁Γฦ͠ઃఆը໘ • γϯϓϧͰΑ͘ΘΕΔΦϓγϣϯΛఏࣔ • ܁Γฦ͠ͷෳࡶͳΧελϚΠζΛผͷը໘ • ΧελϜͷৄࡉΛΘ͔Γ͘͢දࣔ • ܁Γฦ͠ͷऴྃԼ෦ʹදࣔ
܁Γฦ͠ͷ࣮ • Foundationͷ enumerateDates(startingAfter:matching:matchingPolicy:repeatedTimePolicy:direction:using:)Λ ར༻ • ༧ظ͠ͳ͍ಈ࡞ͳͲগʑ͋Γ • OSSϥΠϒϥϦ͕͋Γͦ͏Ͱͳ͍ •
໘ͦ͘͞͏…
custom-repeat-date • Swift Packageͱͯ͠Publicʹެ։ • ̎ؒ΄ͲExpensesͰར༻͠ͳ͕Βमਖ਼ • αϯϓϧϓϩδΣΫτ͋Γ(SwiftUIར༻) • DocCʹΑΔυΩϡϝϯτ͋Γ
• Swift Package IndexʹՃ • https://github.com/pixyzehn/custom-repeat-date
ӡ༻͔ͯ͠Βͷؾ͖ͮ • ݄ผʹ͓͍͕ͯͳ͍݄͕͋Δ (31ͳͲ) → ݄ΛՃ • ୈԿ༵ʹ͓͍ͯୈ4͔ୈ5ͷͲͪΒ͔࠷ऴΛࢦఆ͍ͨ͠߹ → ࠷ऴΛՃ
• ܁Γฦ͠ͷΛͯ͢දࣔ͢Δ߹ɺIn-memoryͰΛੜ͢ΔͷͰΩϟογϡͳͲͷ࠷ దԽඞཁ • ܁Γฦ͠ʹؔ͢ΔՃػೳϦΫΤετ΄ͱΜͲͳ͠ • ͜͜·Ͱ࣮͍ͯ͠ΔྨࣅΞϓϦগͳ͘ධྑ͍ ☺