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
Mitsuharu Emoto
February 22, 2019
2.4k
0
Share
kyotolt23_20190222.pdf
Mitsuharu Emoto
February 22, 2019
More Decks by Mitsuharu Emoto
See All by Mitsuharu Emoto
iPhoneと共に過ごす夏
mitsuharu
0
41
WKWebViewとアクセシビリティ
mitsuharu
0
82
WKWebView と仲良くする
mitsuharu
0
170
推測するな、計測せよ(Swift編)
mitsuharu
0
100
React Native updates
mitsuharu
0
82
macOS なしで iOS アプリを開発する(※ただし xxx に限る)
mitsuharu
1
450
メーカー製 SDK は不要!標準フレームワークだけで作るサーマルプリンターの印刷アプリ
mitsuharu
0
95
Bluetooth 制御で業務用サーマルプリンター対応アプリを作ろう
mitsuharu
0
110
iOS デバイスから始める Bluetooth 制御の業務用サーマルプリンター対応アプリの作り方
mitsuharu
0
270
Featured
See All Featured
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
510
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
350
Balancing Empowerment & Direction
lara
6
1.1k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
430
Paper Plane (Part 1)
katiecoart
PRO
0
7.6k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
170
The Curse of the Amulet
leimatthew05
1
12k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
WENDY [Excerpt]
tessaabrams
10
37k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.4k
Building AI with AI
inesmontani
PRO
1
1k
A Soul's Torment
seathinner
6
2.8k
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