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.8k
トレタでの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
増え続ける脆弱性に立ち向かう: 事前対策と優先度づけによる 持続可能な脆弱性管理 / Confronting the Rise of Vulnerabilities: Sustainable Management Through Proactive Measures and Prioritization
nttcom
1
220
20250728 MCP, A2A and Multi-Agents in the future
yoshidashingo
1
110
Kiroから考える AIコーディングツールの潮流
s4yuba
1
440
【CEDEC2025】大規模言語モデルを活用したゲーム内会話パートのスクリプト作成支援への取り組み
cygames
PRO
1
400
MCPと認可まわりの話 / mcp_and_authorization
convto
2
310
AI駆動開発 with MixLeap Study【大阪支部 #3】
lycorptech_jp
PRO
0
270
Railsの限界を超えろ!「家族アルバム みてね」の画像・動画の大規模アップロードを支えるアーキテクチャの変遷
ojima_h
4
520
「AI駆動開発」のボトルネック『言語化』を効率化するには
taniiicom
1
220
怖くない!GritQLでBiomeプラグインを作ろうよ
pal4de
1
140
人と生成AIの協調意思決定/Co‑decision making by people and generative AI
moriyuya
0
190
【Λ(らむだ)】最近のアプデ情報 / RPALT20250729
lambda
0
120
メモ整理が苦手な者による頑張らないObsidian活用術
optim
0
150
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.4k
Raft: Consensus for Rubyists
vanstee
140
7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
19k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.6k
Done Done
chrislema
184
16k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Faster Mobile Websites
deanohume
308
31k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Into the Great Unknown - MozCon
thekraken
40
1.9k
Practical Orchestrator
shlominoach
190
11k
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 Ͱ ָʹͳΔͣ