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 雙週報 2016/2/2
Search
Johnlin
February 02, 2016
Programming
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Swift 雙週報 2016/2/2
Johnlin
February 02, 2016
More Decks by Johnlin
See All by Johnlin
用 MLIR 實作 一個 Ruby IR (intermediate representation)
johnlinvc
0
290
Unearth Ruby builtin Gems 發掘 Ruby 的內建 Gems
johnlinvc
0
370
Ruby 型別檢查工具簡介
johnlinvc
0
610
Swift Actor 實作探索
johnlinvc
0
200
用 mruby 來寫跨平台工具
johnlinvc
0
120
Actor model 簡介
johnlinvc
0
240
一起玩 Helm 3
johnlinvc
1
160
為什麼 App 卡卡的
johnlinvc
2
1.3k
如何使用 byebug 來除錯 Ruby 程式
johnlinvc
0
260
Other Decks in Programming
See All in Programming
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
190
Claspは野良GASの夢をみるか
takter00
0
190
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
140
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
180
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
2
660
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
320
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
120
さぁV100、メモリをお食べ・・・
nilpe
0
140
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
130
AIで効率化できた業務・日常
ochtum
0
130
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Producing Creativity
orderedlist
PRO
348
40k
So, you think you're a good person
axbom
PRO
2
2.1k
How to build a perfect <img>
jonoalderson
1
5.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Amusing Abliteration
ianozsvald
1
200
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
560
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
270
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
280
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Optimizing for Happiness
mojombo
378
71k
Transcript
Swift 雙週報 2016/2/2 John Lin(@johnlinvc)
From the core • Swift 2.2 branch 已經建立 [1] •
Swift 已經可以在 FreeBSD 上運作 [2] • Swift 開始被Port 至 cygwin(Windows) [3] • Swift project 開始使用CI [8]
Swift 2.2 包含standard lib, lldb。 不包含package manager, core library. 程式碼將會和2.1相容,主要是效能提升與bugfix
預計三月或四月正式發佈
Swift Project CI https://ci.swift.org/ 將會測試所有主要的branch,以及所有pull request 與Github 整合,可以在Github上看到status
Evolution • Swift package manager 將會整合測試功能 [4] • 在將function 指派至常/變數時將可以指定參數label
[5] • Swift Cocoa API 將會有重大改變 [7]
Package Manager Testing 未來Swift package manager 將會整合測試功能。只要將Test 放進 Tests資料夾中, 再執行
swift test 就會自動編譯並執行測試。 swift build 時也會同時執行測試以確保品質
Function Argument Label 在將function 指定至變數時可以指定Label extension UIView { func insertSubview(view:
UIView, at index: Int) func insertSubview(view: UIView, aboveSubview siblingSubview: UIView) func insertSubview(view: UIView, belowSubview siblingSubview: UIView) } let fn: (UIView, UIView) = { view, otherView in button.insertSubview(view, aboveSubview: otherView) } 未來 let fn = someView.insertSubview(_:at:) let fn1 = someView.insertSubview(_:aboveSubview:)
Cocoa Swift API 的改變 Swift 3.0 的 Cocoa API 將會有重大的改變,變得更加直覺與swifty
class UIBezierPath : NSObject, NSCopying, NSCoding { ... } ... path.addLineToPoint(CGPoint(x: 100, y: 0)) path.fillWithBlendMode(kCGBlendModeMultiply, alpha: 0.7) 將變成 class UIBezierPath : Object, Copying, Coding { ... } ... path.addLineTo(CGPoint(x: 100, y: 0)) path.fillWith(kCGBlendModeMultiply, alpha: 0.7)
Community • Swift.org 繁體中文翻譯進行中 http://swiftlang.tw • SwiftGL ,讓你用Swift 寫 OpenGL,已經基本上可以運作
[6]
References [1]: https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20160111/000802.html [2]: https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20160118/000911.html [3]: https://lists.swift.org/pipermail/swift-users/Week-of-Mon-20160111/000862.html [4]: https://github.com/apple/swift-evolution/blob/master/proposals/0019-package-manager-testing.md [5]:
https://github.com/apple/swift-evolution/blob/master/proposals/0021-generalized-naming.md [6]: https://github.com/AE9RB/SwiftGL.git [7]: https://swiftlang.tw/swift%20blog/swift/cocoa/api/2016/01/29/swift-api-transformation/ [8]: https://swiftlang.tw/continuous-integration/