Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
iOSDC_SwiftUI_Text
Search
Atsuya Sato
September 18, 2021
Technology
4
5.7k
iOSDC_SwiftUI_Text
iOSDC Japan 2021でLT登壇した資料です
Atsuya Sato
September 18, 2021
Tweet
Share
More Decks by Atsuya Sato
See All by Atsuya Sato
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
570
iOS 17で追加されたSubscriptionStoreView を利用して5分でサブスク実装チャレンジ
natmark
0
940
Pastelaのアプリ内課金開発の裏側 / pixiv-app-night-202502-pastela-iap
natmark
2
140
詳解UIWindow
natmark
3
4.8k
画面最前面に表示されるデバッグツールを作る
natmark
2
280
最低サポートOSバージョンをあげた時のストア表示について / potatotips81-store-page-apperance-with-deployment-target-updated
natmark
2
730
施策基盤としてのディープリンク〜なめらかにアプリが開く体験のために〜
natmark
9
8.4k
チームでSwiftUIを書くために / After Party iOSDC Japan 2021 SwiftUI
natmark
3
1.1k
Service development lecture in Cookpad Online Summer Internship 2020
natmark
1
8k
Other Decks in Technology
See All in Technology
Lessons from Migrating to OpenSearch: Shard Design, Log Ingestion, and UI Decisions
sansantech
PRO
1
130
乗りこなせAI駆動開発の波
eltociear
1
1.1k
MLflowで始めるプロンプト管理、評価、最適化
databricksjapan
1
230
意外とあった SQL Server 関連アップデート + Database Savings Plans
stknohg
PRO
0
320
.NET 10の概要
tomokusaba
0
110
[デモです] NotebookLM で作ったスライドの例
kongmingstrap
0
150
新 Security HubがついにGA!仕組みや料金を深堀り #AWSreInvent #regrowth / AWS Security Hub Advanced GA
masahirokawahara
1
2k
EM歴1年10ヶ月のぼくがぶち当たった苦悩とこれからへ向けて
maaaato
0
280
第4回 「メタデータ通り」 リアル開催
datayokocho
0
130
「Managed Instances」と「durable functions」で広がるAWS Lambdaのユースケース
lamaglama39
0
320
今からでも間に合う!速習Devin入門とその活用方法
ismk
1
710
AWSを使う上で最低限知っておきたいセキュリティ研修を社内で実施した話 ~みんなでやるセキュリティ~
maimyyym
2
1.3k
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Code Reviewing Like a Champion
maltzj
527
40k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Navigating Team Friction
lara
191
16k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
4 Signs Your Business is Dying
shpigford
186
22k
Transcript
"UTVZB4BUP 4XJGU6*5FYUΛ͍͜ͳؒ͢ J04%$+BQBO%BZ-5
J04%$+BQBO Ұ෦͚ͩ #PMEͷςΩετ Ͳ͏࣮͢Δʁ
HStack(spacing: 8) { Text("iOSDC").bold() Text("Japan 2021") } ۪ʹ)4UBDLΛͬͯ J04%$+BQBO
HStack(spacing: 8) { Text("Hello, iOSDC!").bold() Text("͍͍͍͍ςΩετ") } )FMMP J04%$ ͍͍͍
͍ςΩετ
Text("iOSDC").bold() + Text(" ") + Text("Japan 2021") ͜͏͍͏෩ʹॻ͚Δ J04%$+BQBO
Text("Hello, iOSDC!").bold() + Text(" ") + Text("͍͍͍͍ςΩετ") )FMMP J04%$͍͍ ͍͍ςΩετ
5FYUΛ ԋࢉࢠͰ݁߹͢Δ Text("iOSDC").bold() + Text(" ") + Text("Japan 2021") w
4XJGU6*ʹQVCMJDTUBUJDGVOD MIT5FYU SIT5FYU 5FYU ͕༻ҙ͞Ε͍ͯΔͷͰɺ͜͏͍͏ॻ͖ํ͕Ͱ͖Δ w J04ʙͰར༻Մೳ
J04%$+BQBO *NBHFͱ5FYUͷηοτ ύλʔϯ
Text(Image(systemName: "heart")) .foregroundColor(.pink) + Text(" ") + Text("iOSDC").bold() + Text("
") + Text("Japan 2021") ͖ͬ͞ͷԠ༻ͯ͜͠͏ॻ͚Δ J04%$+BQBO
Text(Image(systemName: "heart")) .foregroundColor(.pink) + Text(" ") + Text("iOSDC").bold() + Text("
") + Text("Japan 2021") *NBHFΛ5FYUͰϥοϓ͢Δ w 4XJGU6*5FYUʹQVCMJDJOJU @JNBHF*NBHF ͕༻ҙ͞Ε͍ͯΔͷͰɺ͜͏͍͏ॻ͖ํ͕Ͱ͖Δ w J04ʙͰར༻Մೳ
Text(" \(Text(Image(systemName: "heart")) .foregroundColor(.pink))□ \(Text("iOSDC").bold())□ Japan□2021 ") ͞Βʹ͜͏͍͏෩ʹॻ͚Δ ˞දࣔྖҬͷؔͰվߦΛೖΕͯɺۭനΛ˘ʹ͍ͯ͠·͢ J04%$+BQBO
จࣈྻิΛ֦ுͨ͠ॻ͖ํ w ͬ͘͟Γݴ͏ͱɺ4XJGU6*Ͱఆٛ͞Ε͍ͯΔQVCMJDNVUBUJOHGVOD BQQFOE*OUFSQPMBUJPO @UFYU5FYU ʹΑͬͯՄೳʹͳ͍ͬͯΔॻ͖ํ w J04ʙͰར༻Մೳ Text(" \(Text(Image(systemName:
"heart")) .foregroundColor(.pink))□ \(Text("iOSDC").bold())□ Japan□2021 ") w ͪͳΈʹ QVCMJDNVUBUJOHGVODBQQFOE*OUFSQPMBUJPO @JNBHF*NBHF ༻ҙ͞Ε͍ͯΔͷͰ w 5FYU a *NBHF TZTUFN/BNFBQQMFMPHP "QQMF Έ͍ͨͳॻ͖ํͰ͖Δ
จࣈྻิΛ֦ுͨ͠ॻ͖ํͷิ w 4XJGU6*5FYUQVCMJDJOJU @LFZ-PDBMJ[FE4USJOH,FZ UBCMF/BNF4USJOH OJM CVOEMF#VOEMF OJM DPNNFOU4UBUJD4USJOH
OJM ΛΠχγϟϥΠβͱ͍ͯ࣋ͬͯ͠ Δ w 5FYU J04%$ ͷΑ͏ʹॻ͍ͨ࣌ʹJ04%$ͷܕ-PDBMJ[FE4USJOH,FZʹͳΔ w -PDBMJ[FE4USJOH,FZ&YQSFTTJCMF#Z4USJOH*OUFSQPMBUJPOʹ४ڌ͢ΔܕͰ 4USJOH*OUFSQPMBUJPO1SPUPDPMʹ४ڌͨ͠ܕ4USJOH*OUFSQPMBUJPOΛ෦తʹ͍࣋ͬͯΔ w 4XJGU6*ʹఆٛ͞ΕͨBQQFOE*OUFSQPMBUJPOʹΑͬͯΧελϚΠζ͞ΕͨจࣈྻิΛར ༻Ͱ͖Δ Text(" \(Text(Image(systemName: "heart")) .foregroundColor(.pink))□ \(Text("iOSDC").bold())□ Japan□2021 ")
߹ܭ ԁ ܻ۠Γจࣈྻ ͍͍ײ͡ʹʜ
Text("߹ܭ \(amount)ԁ") ܻ۠Γจࣈྻͷදࣔ/VNCFS'PSNBUUFSແ͠Ͱ͍͍ ߹ܭ ԁ
จࣈྻิΛ֦ுܻͨ۠͠Γ w ͬ͘͟Γݴ͏ͱɺ4XJGU6*Ͱఆٛ͞Ε͍ͯΔQVCMJDNVUBUJOHGVOD BQQFOE*OUFSQPMBUJPO5 @WBMVF5 XIFSF5@'PSNBU4QFDJpBCMFʹΑ ͬͯՄೳʹͳ͍ͬͯΔॻ͖ํ w J04ʙͰར༻Մೳ Text("߹ܭ
\(amount)ԁ")) w ͪͳΈʹ QVCMJDNVUBUJOHGVODBQQFOE*OUFSQPMBUJPO5 @WBMVF5 TQFDJpFS4USJOH XIFSF 5@'PSNBU4QFDJpBCMFΛ༻͍ͯϑΥʔϚοτࢦఆ͢Δ͜ͱՄೳ • Text("\(pi, specifier: “%.2f")") ͷΑ͏ʹॻ͘ͱখԼ2ܻͷϑΥʔϚοτʹͳΔ
จࣈྻิΛ֦ுܻͨ۠͠Γͷิ Text("߹ܭ \(amount)ԁ")) w Έઌ΄Ͳઆ໌ͨ͠BQQFOE*OUFSQPMBUJPOʹΑΔจࣈྻิͷ֦ு public protocol _FormatSpecifiable : Swift.Equatable
{ associatedtype _Arg : Swift.CVarArg var _arg: Self._Arg { get } var _specifier: Swift.String { get } } w *OU%PVCMFͳͲͷܕ͕@'PSNBU4QFDJpBCMFʹ४ڌ͓ͯ͠Γɺࢦఆ͞ Εͨ@TQFDJpFSʹΑͬͯɺܕͷϑΥʔϚοτ͕ߦΘΕ͍ͯΔ
'SJ &BSMZ#JSE 4VQQPSUFS BOE3FHVMBS ͪͳΈʹɺJ04͔Β'PSNBU4UZMFར༻Մೳʹ
Text(iOSDC2021.startedAt, format: .dateTime .month(.defaultDigits) .day() .weekday() ) ͪͳΈʹɺJ04͔Β'PSNBU4UZMFར༻Մೳʹ 'SJ
&BSMZ#JSE 4VQQPSUFS BOE3FHVMBS Text(iOSDC2021.ticketKinds, format: .list(type: .and) )
4XJGU6*5FYUͰ'PSNBU4UZMFΛ͏ w 4XJGU6*5FYUʹ༻ҙ͞Ε͍ͯΔQVCMJDJOJU' @JOQVU''PSNBU*OQVU GPSNBU' XIFSF''PSNBU4UZMF ''PSNBU*OQVU&RVBUBCMF ''PSNBU0VUQVU4USJOHΛ ར༻Ͱ͖Δ
w J04ʙͰར༻Մೳ
w 5XJUUFS!O@BUNBSL w ॴଐΫοΫύουגࣜձࣾ w ΫοΫύουΞϓϦ J04"OESPJE ͷ։ൃ ࣗݾհ ࠤ౻ರ
͋ͭ