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.7k
トレタでの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.4k
Other Decks in Technology
See All in Technology
インフラをつくるとはどういうことなのか、 あるいはPlatform Engineeringについて
nwiizo
5
2.1k
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
1.5k
【Developers Summit 2025】プロダクトエンジニアから学ぶ、 ユーザーにより高い価値を届ける技術
niwatakeru
2
890
生成AIの利活用を加速させるための取り組み「prAIrie-dog」/ Shibuya_AI_1
visional_engineering_and_design
1
140
君も受託系GISエンジニアにならないか
sudataka
1
370
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
2
390
家電アプリ共通PF "Linova" のAPI利用とPostman活用事例ご紹介
yukiogawa
0
130
Bounded Context: Problem or Solution?
ewolff
1
210
ビジネスと現場活動をつなぐソフトウェアエンジニアリング~とあるスタートアッププロダクトの成長記録より~
mizunori
0
210
30分でわかる『アジャイルデータモデリング』
hanon52_
9
2.2k
プロセス改善による品質向上事例
tomasagi
1
1.6k
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
230
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Scaling GitHub
holman
459
140k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
29
4.6k
GraphQLとの向き合い方2022年版
quramy
44
13k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
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 Ͱ ָʹͳΔͣ