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
290
Swiftは最高だよの話
Swift宣伝資料です
野瀬田 裕樹
May 29, 2025
Tweet
Share
More Decks by 野瀬田 裕樹
See All by 野瀬田 裕樹
iOSDC2024ポスター:Swift 6に備えよう!Upcoming Feature Flagsを全て解説します!
yuukiw00w
0
6
SwiftでよりSwiftyに
yuukiw00w
0
9
より良いLint設定を追い求めて
yuukiw00w
0
84
FlutterにPull Requestを 投げてみよう!
yuukiw00w
0
28
半年で成果を出すチーム作り(Flutterチームの組成の話)
yuukiw00w
0
34
Other Decks in Technology
See All in Technology
Digitization部 紹介資料
sansan33
PRO
1
3.9k
RDRA3.0を知ろう
kanzaki
3
450
Introduction to Bill One Development Engineer
sansan33
PRO
0
240
[zh-TW] DevOpsDays Taipei 2025 -- Creating Awesome Change in SmartNews!(machine translation)
martin_lover
1
660
プラットフォームとしての Datadog / Datadog as Platforms
aoto
PRO
1
340
継続戦闘能⼒
sansantech
PRO
0
220
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
25k
会社員しながら本を書いてきた知見の共有
sat
PRO
3
700
KMP導⼊において、マネジャーとして考えた事
sansantech
PRO
1
210
TechBull Membersの開発進捗どうですか!?
rvirus0817
0
250
金融システムをモダナイズするためのAmazon Elastic Kubernetes Service(EKS)ノウハウ大全
daitak
0
140
Java 30周年記念! Javaの30年をふりかえる
skrb
3
2k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Building Applications with DynamoDB
mza
95
6.4k
GraphQLとの向き合い方2022年版
quramy
46
14k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Done Done
chrislema
184
16k
Producing Creativity
orderedlist
PRO
346
40k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
180
53k
Thoughts on Productivity
jonyablonski
69
4.7k
Making Projects Easy
brettharned
116
6.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Gamification - CAS2011
davidbonilla
81
5.3k
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Λ ͬͯΈΑ͏
͓ΘΓ