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/23
Search
Johnlin
February 23, 2016
Programming
70
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Swift 雙週報 2016/2/23
Johnlin
February 23, 2016
More Decks by Johnlin
See All by Johnlin
用 MLIR 實作 一個 Ruby IR (intermediate representation)
johnlinvc
0
300
Unearth Ruby builtin Gems 發掘 Ruby 的內建 Gems
johnlinvc
0
400
Ruby 型別檢查工具簡介
johnlinvc
0
620
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
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
350
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
550
AWS DevOps AgentのAzure接続機能を検証して見えた活用法/Use Cases Verified for the AWS DevOps Agent's Azure Connectivity Feature
masakiokuda
0
150
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
430
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
670
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
2
760
Built Our Own Background Agent at LayerX #aidevex_findy
layerx
PRO
9
3.6k
メールのエイリアス機能を履き違えない
isshinfunada
0
110
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
190
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
460
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
420
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
250
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
220
Leo the Paperboy
mayatellez
8
1.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
360
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Deep Space Network (abreviated)
tonyrice
0
230
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.7k
Designing Powerful Visuals for Engaging Learning
tmiket
1
460
Automating Front-end Workflow
addyosmani
1370
210k
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
清單