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
9
日付の繰り返しの話 / 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
個人開発こそ世界へ / Indie App Development Lunch LT 2
pixyzehn
1
980
自分のために作ったアプリが、グローバルに使われるまで / Indie App Development Lunch LT
pixyzehn
1
210
Other Decks in Programming
See All in Programming
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
170
20250704_教育事業におけるアジャイルなデータ基盤構築
hanon52_
2
180
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
460
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
480
A2A プロトコルを試してみる
azukiazusa1
2
1.3k
すべてのコンテキストを、 ユーザー価値に変える
applism118
2
1k
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
260
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
220
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
580
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
240
Discover Metal 4
rei315
2
110
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
660
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Balancing Empowerment & Direction
lara
1
390
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
We Have a Design System, Now What?
morganepeng
53
7.7k
Thoughts on Productivity
jonyablonski
69
4.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Fireside Chat
paigeccino
37
3.5k
Designing for Performance
lara
609
69k
Writing Fast Ruby
sferik
628
62k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
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ͰΛੜ͢ΔͷͰΩϟογϡͳͲͷ࠷ దԽඞཁ • ܁Γฦ͠ʹؔ͢ΔՃػೳϦΫΤετ΄ͱΜͲͳ͠ • ͜͜·Ͱ࣮͍ͯ͠ΔྨࣅΞϓϦগͳ͘ධྑ͍ ☺