Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Swift Weekly 2017-03-07
Search
Johnlin
March 07, 2017
Programming
1
130
Swift Weekly 2017-03-07
Johnlin
March 07, 2017
Tweet
Share
More Decks by Johnlin
See All by Johnlin
用 MLIR 實作 一個 Ruby IR (intermediate representation)
johnlinvc
0
200
Unearth Ruby builtin Gems 發掘 Ruby 的內建 Gems
johnlinvc
0
300
Ruby 型別檢查工具簡介
johnlinvc
0
520
Swift Actor 實作探索
johnlinvc
0
170
用 mruby 來寫跨平台工具
johnlinvc
0
93
Actor model 簡介
johnlinvc
0
200
一起玩 Helm 3
johnlinvc
1
130
為什麼 App 卡卡的
johnlinvc
2
1.2k
如何使用 byebug 來除錯 Ruby 程式
johnlinvc
0
220
Other Decks in Programming
See All in Programming
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
38
26k
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
850
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.4k
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
250
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
230
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
220
chocoZAPサービス予約システムをNuxtで内製化した話
rizap_tech
0
160
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
490
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
2.7k
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
160
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
150
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
430
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
710
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Building Adaptive Systems
keathley
44
2.9k
Six Lessons from altMBA
skipperchong
29
4.1k
Building Applications with DynamoDB
mza
96
6.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Music & Morning Musume
bryan
46
7k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Transcript
Swift पใ 2017/03/07 John Lin @johnlinvc
From the core • swift-evolution swift-users ။ඃኺ mailing list
ൖ ౸ Discourse ஃ • Swift 4 ։࢝ୈೋ֊։ᚙ • Swift 4 తᚙྲྀఔቮެ։
swift-evolution swift-users ။ඃ ኺ mailing list ൖ౸ Discourse ஃ
• ༻ஃൺֱཧ፺ਘɻ • ။อཹemailࣜɼDiscourse ՄҎ༻ email ᚙจ ճจ
Swift 4 ։࢝ୈೋ֊։ᚙ • ቮៃୡఔࣜᛰԼ૬༰ • ABI ᜦఆཹ౸Ҏޙ࠶၏ • ։࢝၏Ҏલ㘸ཁ၏ୠؐᔒ၏త
Swift 4 ։࢝ୈೋ֊։ᚙ • ߋత String ʢඪੋ㐝ഊ Perl) • Integer
Protocol • ڧԽ Collection • ڧԽ Genericʢᔟܕʣ
Swift 4 తᚙྲྀఔቮެ։ • Swift 4 Լࢧԉ Swift 3.1 ఔࣜᛰ
• Swift 4 ՄҎ༻ Swift 3 త Package • ༬ܭ 2017 ळఱᚙ
Evolution • SE-0151 ݅ཧثࢦఆSwift ൛ຊ • SE-0152 ݅ࢦఆ݅ཧث൛ຊ • SE-0153
႔ཧ @NSCopying తෆҰகߦҝ • SE-0154 ሡ Dictionary త Keys Values վಛ త Collection
SE-0151 ݅ཧثࢦఆSwift ൛ຊ • ՄҎࡏPackage.swift ཫఆٛࢧԉత Swift ൛ຊɻ • ᔒሜతब݅ཧثੋ䬟Ұ൛ɻ
SE-0152 ݅ࢦఆ݅ཧث൛ ຊ • ༻ swift package tools-version --set <value>
ိઃఆ package త tools ൛ຊɼՄҎࡏ Package.swift ࠷ ্໘ଧ //swift-tools-version: 3.0.0 • ᔒઃత༬ઃ 3.0.0 • ။Լ૬༰ • Өڹ Package.swift ՄҎࢧԉత֨ࣜ
SE-0152 ݅ࢦఆ݅ཧث൛ ຊ
SE-0153 ႔ཧ @NSCopying త ෆҰகߦҝ • @NSCopy త Attribute ጯ֘။ሣ݅၏
deep copyɼ 㗞ੜ৽త݅ɻ • Swift ᔒ㭎๏खಈࢦఆཁ༻ Attribute ؐੋ iVarɻ • ኺObj-c ትိత׳ྫੋࡏ init ཫ༻ iVarɼଖଞํ ༻ Attributeɻ • ॴҎࡏ init ཫ႔ཧ NSCopy త౦။ᆦᎃ
SE-0153 ႔ཧ @NSCopying త ෆҰகߦҝ class Person : NSObject, NSCopying
{ var name:String var job:String init(name:String, job:String) { self.name=name self.job=job } func copy(with zone: NSZone? = nil) -> Any { let clone = Person.init(name: name, job: job) return clone } }
SE-0153 ႔ཧ @NSCopying త ෆҰகߦҝ class Pet { @NSCopying var
owner: Person init(owner:Person) { self.owner=owner } }
SE-0153 ႔ཧ @NSCopying త ෆҰகߦҝ
SE-0153 ႔ཧ @NSCopying త ෆҰகߦҝ • ಁա compiler త ∍ຐ๏ɼՌ
attribute ੋ @NSCopying ɼ बෆ༻ivar վ༻ attribute
SE-0154 ሡ Dictionary త Keys Values վಛత Collection •
ݱࡏཁፙಛఆత key ຫɻ • আඇ༻ಛఆతሜ๏࠽။շɻ • վಛ collection ޙ။Ұᒬշ
Community • ༗ਓ༻ Swift ሜྃҰݸ Swiftenv https://github.com/ mominul/swiftup