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
Swiftは最高だよの話
Search
野瀬田 裕樹
May 29, 2025
Technology
2
340
Swiftは最高だよの話
Swift宣伝資料です
野瀬田 裕樹
May 29, 2025
Tweet
Share
More Decks by 野瀬田 裕樹
See All by 野瀬田 裕樹
Swift6.2時代のconcurrencyを考える会
yuukiw00w
0
130
実践!App Intents対応
yuukiw00w
1
390
App Intents再入門
yuukiw00w
0
65
Flutterで備える!Accessibility Nutrition Labels完全ガイド
yuukiw00w
0
210
WWDC25要約:Evaluate your app for Accessibility Nutrition Labels
yuukiw00w
0
120
モバイルアプリ設計入門
yuukiw00w
0
11
iOSDC2024ポスター:Swift 6に備えよう!Upcoming Feature Flagsを全て解説します!
yuukiw00w
0
27
SwiftでよりSwiftyに
yuukiw00w
0
14
より良いLint設定を追い求めて
yuukiw00w
0
110
Other Decks in Technology
See All in Technology
Create Ruby native extension gem with Go
sue445
0
190
Snowflake Intelligence × Document AIで“使いにくいデータ”を“使えるデータ”に
kevinrobot34
1
160
Apache Spark もくもく会
taka_aki
1
170
20250905_MeetUp_Ito-san_s_presentation.pdf
magicpod
1
140
「Linux」という言葉が指すもの
sat
PRO
4
150
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
22
13k
roppongirb_20250911
igaiga
1
270
SSG の限界を破る、再ビルド不要なサイト
reyalka
0
290
「完璧を目指さない」サーバーレス進化論 〜CDKで育てる変化に強いアーキテクチャ〜
yusukeshimizu
3
350
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
10
75k
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
1.3k
いま注目のAIエージェントを作ってみよう
supermarimobros
0
410
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
96
6.2k
What's in a price? How to price your products and services
michaelherold
246
12k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Unsuck your backbone
ammeep
671
58k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
4 Signs Your Business is Dying
shpigford
184
22k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Visualization
eitanlees
148
16k
Music & Morning Musume
bryan
46
6.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Transcript
4XJGU࠷ߴͩΑͷ ΞϓϦ։ൃࣨɹాɹ༟थ
Ͱ
ͳΔ͘ଟ͘
4XJGUͷ
ྑ͍ͱ͜ΖΛ
͑·͢ʂ
ྫ֎ॲཧ͕࠷ߴ
4XJGUݕࠪྫ֎Λ࠾༻
4XJGUͷྫ֎ͷجຊϧʔϧ
// ϧʔϧ1ɿΤϥʔͷൃੜՄೳੑ͕͋Δؔఆٛඞͣthrows͕ඞཁ func main() throws {
// ϧʔϧ2ɿthrowsͷؔݺͼग़͠ඞͣtry͕ඞཁ try sample()
// ϧʔϧ3ɿthrowsؔthrows͔ؔdo-catchͷΈݺग़Մ func main1() throws { try sample() } func
main2() { do { try sample() } catch {} }
͜Ε͚ͩ
Ͱੌ͘ྑ͍
3FTVMUΑΓྑ͍ͷʁ
ྑ͍Ͱ͢
ΤϥʔͱฦΓͷϖΞΑΓʁ
ྑ͍Ͱ͢
ৄࡉলུ
ܰ͘৮ΕΔͱ
ΤϥʔϋϯυϦϯά͕ڧ੍
ΤϥʔϋϯυϦϯά͕ڧ੍ ݕࠪྫ֎ͳͷͰ
ΤϥʔͷิՕॴ͕໌֬
ΤϥʔͷิՕॴ͕໌֬ USZඞਢͳͷͰ
ෳͷࣜͷ߹͕؆୯
ෳͷࣜͷ߹͕؆୯ USZB USZC USZD CͱDͷUSZলུՄ
Τϥʔͷແࢹ͕؆୯
Τϥʔͷແࢹ͕؆୯ @USZ B
ͳͲ
৭Μͳར͕͋ΔΑ
ˣͷهࣄ͕ৄ͍͠Α 4XJGUͷΤϥʔϋϯυϦϯά ͳͥ࠷ઌͳͷ͔
ܕத৺Ͱ࠷ߴ
$MBTTͬͯਏ͍ΑͶ
Մมঢ়ଶ͕؆୯ʹڞ༗͞ΕΔ
class A { var x: Int = 0 } var
a1 = A() var a2 = a1 a1.x = 1 print(a2.x) // ग़ྗɿ1(a1ͱa2ͰՄมͳঢ়ଶ͕ڞ༗)
4XJGUͳΒ͏҆৺
ޚతίϐʔʁ
ΠϛϡʔλϒϧΫϥεʁ
͍Γ·ͤΜ
struct A { var x: Int = 0 } var
a1 = A() var a2 = a1 a1.x = 1 print(a2.x) // ग़ྗɿ0(a1ͱa2Ͱڞ༗͞Εͳ͍)
ྑ͍ײ͡Ͱ͢Ͷ
ܕ
ΠϛϡʔλϒϧΫϥεͱಉ͡ ҆શੑ
ϛϡʔλϒϧΫϥεͱಉ͡ มߋ༰қੑ
4XJGUͳΒ
ίϨΫγϣϯܕ
ܕΛѻ͏๛ͳݴޠ༷
࠷ߴ
ˣͷهࣄ͕ৄ͍͠Α )FBSUPG4XJGU
ඇಉظॲཧ͕࠷ߴ
BTZODBXBJU
"TZOD4USFBN
શ෦ඪ४Ͱ͋ΔΑ
ඇಉظॲཧͷେ
σʔλڝ߹
҆৺ͯ͠
҆શ͡Όͳ͍ίʔυ
4XJGUͳΒ
ίϯύΠϧΤϥʔʹͳΔΑ
4FOEBCMF͋Δ͠
"DUPSΊͬͪΌศརͩΑ
๛ͳݴޠػೳ
UZQFEUIPSXTʁ
͋Γ·͢
ॴ༗ݖʁआ༻ʁ
͋Γ·͢
/PODPQZBCMFʁ
͋Γ·͢
ͳΜͰେମ͋ΔΑʂ
ϚϧνϓϥοτϑΥʔϜ
J04͔͠Ͱ͖ͳ͍ʁ
ͦΜͳ͜ͱ͋Γ·ͤΜ
αʔόʔ ʢ࣮গͳ͍͚Ͳʣ
8FC ʢ੩తαΠτͳΒͶʜʣ
"OESPJE ʢ4LJQͷࠓޙʹظʣ
ΈࠐΈ ʢ&NCFEEFE4XJGU͋ΔΑʣ
ͪΖΜ
7JTJPO04
.BD04
ͳΜͰͰ͖ΔΑ
·ͱΊ
4XJGUJT࠷ߴ w ྫ֎ॲཧ͕࠷ߴʢΤϥʔϋϯυϦϯάڧ੍ɺ໌֬ͳهड़ɺFUDʣ w ܕத৺͕࠷ߴʢ҆શੑͱมߋ༰қੑͷཱ྆ʣ w ඇಉظॲཧ͕࠷ߴʢσʔλڝ߹ճආɺهड़͕༰қɺFUDʣ w ๛ͳݴޠػೳ͕࠷ߴʢੑೳٻͰ͖Δ҆͠શੑ͕ߴ͍ɺFUDʣ w
ϚϧνϓϥοτϑΥʔϜʢαʔόʔ͔Β7JTJPO04·Ͱશ෦Ͱ͖Δʣ
ଞʹ͖ͳͱ͜Ζ͋Δ
ଞͷ͖ͳͱ͜Ζ w ύοέʔδཧ͕ݴޠʹඪ४Ͱ͍ͯΔʢผͷͭΛೖΕΔඞཁ͕ ͳ͍ʣ w TPNFBOZͱ͔Ωʔϫʔυબఆ͕ྑͯ͘ಡΈ͍͢ʢݸਓతݟղʣ w ຊͷ4XJGUJ04ίϛϡχςΟ͕׆ൃͰྑ͍ਓɾڧ͍ਓଟ͍ w 4XJGUࣗମΦʔϓϯιʔεͳͷͰਐԽͷ༷ࢠ͕ݟΕͯظ͕େ͖͍
͋ͳͨ໌͔Β 4XJGUΛ ͬͯΈΑ͏
͓ΘΓ