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
kyotolt23_20190222.pdf
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Mitsuharu Emoto
February 22, 2019
0
2.4k
kyotolt23_20190222.pdf
Mitsuharu Emoto
February 22, 2019
Tweet
Share
More Decks by Mitsuharu Emoto
See All by Mitsuharu Emoto
iPhoneと共に過ごす夏
mitsuharu
0
37
WKWebViewとアクセシビリティ
mitsuharu
0
72
WKWebView と仲良くする
mitsuharu
0
150
推測するな、計測せよ(Swift編)
mitsuharu
0
92
React Native updates
mitsuharu
0
79
macOS なしで iOS アプリを開発する(※ただし xxx に限る)
mitsuharu
1
420
メーカー製 SDK は不要!標準フレームワークだけで作るサーマルプリンターの印刷アプリ
mitsuharu
0
77
Bluetooth 制御で業務用サーマルプリンター対応アプリを作ろう
mitsuharu
0
100
iOS デバイスから始める Bluetooth 制御の業務用サーマルプリンター対応アプリの作り方
mitsuharu
0
240
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
91
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
150
The browser strikes back
jonoalderson
0
830
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
480
Being A Developer After 40
akosma
91
590k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.2k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
It's Worth the Effort
3n
188
29k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.7k
Transcript
4XJGUͰ3VOUJNF &YDFQUJPOΩϟον͕͍ͨ͠ ߐຊޫ ,ZPUP-5 !1
ࣗݾհ w ͑ͱΈͭΔ w γʔαʔגࣜձࣾ w J04ΞϓϦͱػցֶशΛ༻͍ͨαʔϏεͷ։ൃ !2
࢝ΊΔલʹ w αϯϓϧίʔυ4XJGUͷॻࣜͰ͢ w γϯϓϧͳͷͰଞݴޠΛͬͯΕ͔ΔఔͰ͢ w ࡶίʔυͳͷͰίʔυࣗମʹҙຯ͋Γ·ͤΜ !3
3VOUJNF&YDFQUJPO w ࣮ߦ࣌ྫ֎ w ίϯύΠϥͰݟ͚ͭΒΕͳ͍ྫ֎ w ΞϓϦ࣮ߦதʹൃੜͨ͠Βɼଈ࣌ʹΫϥογϡ͢Δ w ίʔσΟϯάͰৗʹҙ͖ࣝ͢͜ͱͷͭ !4
ྫ͑ w ྻʹΞΫηε͢Δͱ͖ɼ֬อͨ͠ཁૉҎ্ͷJOEFY ʹΞΫηε͍͚ͯ͠ͳ͍ w ΞΫηε͍ͨ͠JOEFY͕ྻͷཁૉʹؚ·ΕΔ͔Λࣄલʹ ֬ೝ͢Δ͜ͱͰճආͰ͖Δ let temps =
[0, 1, 2] let index = 10 if 0 <= index && index < temps.count{ let temp = temps[index] } let temps = [0, 1, 2] let index = 10 let temp = temps[index] // Ϋϥογϡ !5
ྫ֎ͱίʔσΟϯά w ϥϯλΠϜྫ֎͕ى͜Βͳ͍Α͏ʹࣄલ֬ೝΛߦ͏ඞཁ͕ ͋Δ͕ɼෳࡶͳॲཧ֎తཁҼͳͲͰ͍͠߹͋Δ w Ϣʔβʔ"1*͔Βͷෆఆͳσʔλೖྗ w ͍͔ͭ͘ͷॲཧ͕ॏͳͬͨෳࡶͳγʔϯ w ͍͔ͭ͘ͷϓϩάϥϛϯάݴޠʹىͬͨ͜ྫ֎ΛΩϟο
νͯ͠ɼదͳॲཧͰΫϥογϡͤ͞ͳ͍ػೳ͕͋Δ !6
4XJGUͷྫ֎Ωϟον w ྫ֎ΩϟονUISPXΛ࣮ͨ͠ϝιουʹରͯ͠ɼྫ ֎ΛΩϟονͰ͖Δ w ϥϯλΠϜྫ֎USZDBUDIͰғͬͯΩϟονͰ͖ͳ͍ do{ ɹtry hogehoge() }catch{
... } do{ let temps = [0, 1, 2] try let temp = temps[10] // ϏϧυͰ͖ͳ͍ }catch{ ... } !7
ʘ ?P? ʗ !8
!9
0CKFDUJWF$ͩͱ ΩϟονͰ͖ͯͨΑͶ !10
࡞Γ·ͨ͠ w 0CK$Ͱॲཧ࣮ߦͱىͬͨ͜ ྫ֎Λฦ͢&YD#MPDL w ͦΕΛ4XJGUͰݺͼ·͢ w σϞͰͦͷಈ͖ΛΈ͍ͯͩ͘͞ ExcBlock.execute({ let
temps = [0, 1, 2] print("\(temps[10])") }) { (exception) in print(exception) } !11
μϝͰͨ͠ w 4XJGUͷྫ֎0CK$ͰΩϟονͰ͖ͳ͍ w 0CK$ͰΩϟονग़དྷΔྫ֎/4&YDFQUJPO w 4XJGU͕͛Δྫ֎4XJGU&SSPS !12
͖͋ΒΊͳ͍ w ॲཧ෦0CK$ʹͯ͠͠·͍͍͑ͷͰͳ͍͔ʁ w 5BCMF7JFXͷηϧߋ৽ͷσϞΛ࡞Γ·ͨ͠ // ࣮Πϝʔδ -(void)exc_hogehoge:(Completion)completion{ @try {
[self hogehoge]; } @catch (NSException *exception) { completion(exception); } @finally { } } !13
ΩϟονͰ͖ͨ w ॲཧ෦0CK$ʹͤͨΒɼಈ͍ͨ w ͍ͦΕ͏࣮࣭0CK$ͷίʔυͰʁ !14
͓·͚ w 'PSUJGZ IUUQTHJUIVCDPNKPIOOP'PSUJGZ w ྫ֎ΩϟονͰͳ͘ɼΫϥογϡͨ͠ΞϓϦΛ෮ؼ͞ ͤΔͱ͍͏ຊͷࠇຐज़ w %2Ͱྫ͑ΔͱɼUSZDBUDIʮṫࢮʯʹʮϗΠϛʯͰɼ
'PSUJGZʮ͠ʹʯʹʮβΦϥϧʯ w GBUBM&SSPS͔Β෮ؼͤ͞Δෆࢥٞͳ4XJGUϥΠϒϥϦ'PSUJGZ ΛಡΈղ͘2JJUB IUUQTRJJUBDPNVLJUBLBJUFNT FGFBEGC !15
·ͱΊ w 4XJGUͰϥϯλΠϜྫ֎ΩϟονͰ͖·͢ w 2JJUBʹߘͯ͠·͢IUUQTRJJUBDPN NJUTVIBSV@FJUFNTFEDE w ιʔείʔυͪ͜ΒIUUQTHJUJPGIV/ w 0CK$Λҙࣝͤ͞ͳ͍Α͏ʹϥΠϒϥϦΛ࡞Γ·ͨ͠
w IUUQTHJUIVCDPNNJUTVIBSV.&0&YDFQUJPO !16