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 雙週報 2016/2/23
Search
Johnlin
February 23, 2016
Programming
0
66
Swift 雙週報 2016/2/23
Johnlin
February 23, 2016
Tweet
Share
More Decks by Johnlin
See All by Johnlin
用 MLIR 實作 一個 Ruby IR (intermediate representation)
johnlinvc
0
190
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
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
320
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
480
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
120
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
160
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
120
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
270
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
120
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
0
180
chocoZAPサービス予約システムをNuxtで内製化した話
rizap_tech
0
160
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
170
dotfiles 式年遷宮 令和最新版
masawada
1
780
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.2k
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.7k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Unsuck your backbone
ammeep
671
58k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.3k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
390
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
What's in a price? How to price your products and services
michaelherold
246
13k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Transcript
Swift 雙週報 2016/2/23 John Lin @johnlinvc
From the Core - Interactive playground - 可以安裝 Swift Toolchain
到 ~/Library - 漸進式編譯 - Swift Benchmark Suit
Interactive Playground XCode 7.3 beta 3 後支援在playground 裡直接顯示UIViewController(iOS) 或是 NSViewController
(OSX) import XCPlayground XCPlaygroundPage.currentPage.liveView = tableVC
可以安裝 Swift Toolchain 到 ~/Library 在2016/1/25 號之後的Swift Toolchain 可以安裝到~/Library 在安裝的時候選擇Install
for me only 就可以了
漸進式編譯 加快編譯速度10-20%
Swift Benchmark Suite 用來測試和比較不同Swift版本之間的性能 $ ./Benchmark_O --num-iters=1 --num-samples=1
Evolution - SE-0022 使用Swift Function 來建立 Obj-C selector - SE-0028
更像Swift 的Debugging Identifier - SE-0029 移除Function的自動Tuple Splat
SE-0022 使用Swift Function 來建立 Obj-C selector 過去要建立Obj-C selector 只能使用 Selector(“method:arg:”)
現在可以用下面的方法來建立 selector #selector(MyClass.method(_:arg:))
SE-0028 更像Swift 的Debugging Identifier Debug 用的符號將會改名 __FILE__ -> #file __LINE__
-> #line __COLUMN__ -> #column __FUNCTION__ -> #function __DSO_HANDLE__ -> #dsohandle print(__FILE__) # /var/folders/xz/8p5cjp3d1zg7d791vwlcwhcw0000gn/T/lldb/50190/playground43. swift
SE-0029 移除Function的自動Tuple Splat 將會移除下面這個不為人知的Function 用法 func foo(a:Int, b:Int)->Int{return b} let
t = (3,b:2) foo(t) # 2 只能用 foo(t.0, b: t.b) 但不影響沒有 Label 的 function func bar(a:Int, _ b:Int)->Int{return b} let q = (2,2) bar(q)
Community - Hirundo:讓你更容易Track Swift mailing list - swift.pm swift package
清單