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 3 対応
Search
Yoonchul Koh
November 29, 2016
Technology
4
7.9k
トレタでのSwift 3 対応
トレタでのSwift 3 対応について話しました
Yoonchul Koh
November 29, 2016
Tweet
Share
More Decks by Yoonchul Koh
See All by Yoonchul Koh
利用者の動きを可視化してアプリ開発に役立てる方法 Firebase Analyticsの導入とデータ活用について/user-tracking-firebase-analytics
yoonchulkoh
0
230
Xcode Extensions
yoonchulkoh
0
1.5k
Other Decks in Technology
See All in Technology
これからアウトプットする人たちへ - アウトプットを支える技術 / that support output
soudai
PRO
7
2.7k
kotlin-lsp の開発開始に触発されて、Emacs で Kotlin 開発に挑戦した記録 / kotlin‑lsp as a Catalyst: My Journey to Kotlin Development in Emacs
nabeo
2
370
新米エンジニアをTech Leadに任命する ー 成長を支える挑戦的な人と組織のマネジメント
naopr
1
360
AWS 環境で GitLab Self-managed を試してみた/aws-gitlab-self-managed
emiki
0
280
Logik: A Free and Open-source FPGA Toolchain
omasanori
0
230
20251102 WordCamp Kansai 2025
chiilog
1
630
進化する大規模言語モデル評価: Swallowプロジェクトにおける実践と知見
chokkan
PRO
3
490
AIエージェントは「使う」だけじゃなくて「作る」時代! 〜最新フレームワークで楽しく開発入門しよう〜
minorun365
PRO
9
1.4k
Oracle Cloud Infrastructure:2025年10月度サービス・アップデート
oracle4engineer
PRO
0
120
触れるけど壊れないWordPressの作り方
masakawai
0
690
AIがコードを書いてくれるなら、新米エンジニアは何をする? / komekaigi2025
nkzn
25
17k
Design and implementation of "Markdown to Google Slides" / phpconfuk 2025
k1low
1
310
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
How GitHub (no longer) Works
holman
315
140k
A designer walks into a library…
pauljervisheath
209
24k
Scaling GitHub
holman
463
140k
Optimizing for Happiness
mojombo
379
70k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
It's Worth the Effort
3n
187
28k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Transcript
τϨλͰͷ Swift 3 ରԠ @y_koh 2016/11/29 potatotips #35
ࣗݾհ • τϨλͰiOSΤϯδχΞͬͯ·͢ • @y_koh
τϨλSwift 3 ରԠ͠·ͨ͠
ͭΒ͔ͬͨ
τϨλΞϓϦͷ֓ཁ • 201312݄ϦϦʔεɻϦϦʔεͯ͠3 • 201510݄Swift 2.0ಋೖɻ • Swift2ׂͰϑΝΠϧ180 • ίʔυྔશମͰ9ສ5ઍ͘Β͍
εέδϡʔϧײ • Ϗϧυ௨Δ·Ͱ1िؒ • ྃ·Ͱ2.5िؒ
ରԠॱং 1. ใऩू 2. ϥΠϒϥϦΞοϓσʔτ 3. Swift 3 Convert 4.
Τϥʔ௵͠ 5. ಈ࡞֬ೝ
ใऩू • [iOS][Swift] Swift 3.0ͷมߋ·ͱΊ http://dev.classmethod.jp/smartphone/iphone/ implemented_proposals_for_swift3/ • iQONΛSwift 3.0.1ʹΞοϓσʔτͨ͠ͱ͖ʹରԠͨ͠ϙΠ
ϯτ http://tech.vasily.jp/entry/update_swift_3_0_1 • ࠓɺSwift2 Ͱॻ͍͍ͯΔಉ๔ୡɻ࠷ݶ͓͖ͬͯͨ ͍ɺSwift2 ͷ··Ͱ࢝ΊΔ Swift3 ରࡦ http://qiita.com/ezura/items/e7703eb04d2d1f2946b9
ϥΠϒϥϦΞοϓσʔτ • Swift 3 ʹରԠ͍ͯ͠Δ͔ಓʹௐΔ • ରԠͯ͠ͳ͚ΕΓ͑ݕ౼ • Obj-CϥΠϒϥϦnullable, nonnullରԠͯͨ͠Γ
͢ΔͷͰ֬ೝͯ͠ΈΔͱྑ͍
Swift 3 Convert • ݁ߏ͔͔࣌ؒΔ • વʁ͏·͘ConvertͰ͖ͳ͍ͱ͜Ζ͕͋Δ
͏·͘ConvertͰ͖ͳ͔ͬͨͱ ͜Ζ • enumͷlower camel caseԽ • UIFont.systemFontOfSize(CGFloat) →UIFont.systemFont(ofSize: CGFloat)
• CGRectMake→CGRect(x: , y:) CGPointMake→CGPoint(x: , y: , width: , height:) • NSIndexPath(forRow: 0, inSection: 0) →IndexPath(row: 0, section: 0)
ରԠͷίπ • ஔscriptΛ࡞͓ͬͯ͘ͱྑ͍ • ৽͘͠ݟ͚ͭͨߏจΤϥʔscriptʹஔίϚϯυ ΛՃ࣮ͯ͠ߦΛ܁Γฦ͢ • ҙ֎ͱػցతʹஔͰ͖Δͱ͜Ζଟ͍ • ͠ΐ͏ͳ͍ΤϥʔͳΔࣗ͘ಈԽͰରԠ
େมͳͷϥΠϒϥϦ
Bolts • BFTask<AnyObject>(result: hoge)ͰArrayΛฦͤ ͳ͍ • AnyObject͕protocolʹͳΓɺArrayͦΕʹద ߹͍ͯ͠ͳ͍ • ํͳ͍ͷͰࠓNSArrayͰϥοϓͯ͠ฦͯ͠Δ
TZStackView • ܧঝ͍͕ͯͬͯͨ͠ɺclass͕openʹͳ͓ͬͯ ΒͣܧঝͰ͖ͳ͍ • ͳ͔ͥϨΠΞτ่͕ΕΔ
SwiftBond • v4→v5ʹͳΔʹ͋ͨͬͯ෦࣮͕ReactiveKit ʹͳͬͨ • ߏจͷॻ͖͑ͦͦ͜͜େม • ڍಈ͕ҟͳΔ • ͳ͔ͥແݶϧʔϓɻɻ
ͦͷଞࡉ͔͍ॴ • ໌ࣔతΩϟετ͕ඞཁʹ • (date as NSDate).mt_hourOfDay() • ͓Αͦ100Օॴ
ಈ࡞֬ೝ • વͳ͕ΒશମΛ֬ೝ͢Δඞཁ͕͋Δ • Ϋϥογϡ͢ΔͳΒ·ͩྑ͍ • ͠Εͬͱදࣔ͞Ε͍ͯͳ͍ͷ͋ͬͨΓ • ରԠલͷΞϓϦͱݟൺͳ͕Β֬ೝ͢Δ
·ͱΊ • ࢥͬͨҎ্ʹେมͰͨ͠ • Ϗϧυ௨͢·Ͱಈ࡞֬ೝ͕ҰͰ͖ͳ͍ • ϥΠϒϥϦʹΑͬͯ݁ߏڍಈ͕มΘͬͯ·͢ • ஔscriptΛ༻ҙ͢Δͱྑͦ͞͏
དྷͷSwift 4 Ͱ ָʹͳΔͣ