Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Swift 雙週報 2016/2/23

Johnlin
February 23, 2016

Swift 雙週報 2016/2/23

Johnlin

February 23, 2016
Tweet

More Decks by Johnlin

Other Decks in Programming

Transcript

  1. From the Core - Interactive playground - 可以安裝 Swift Toolchain

    到 ~/Library - 漸進式編譯 - Swift Benchmark Suit
  2. Evolution - SE-0022 使用Swift Function 來建立 Obj-C selector - SE-0028

    更像Swift 的Debugging Identifier - SE-0029 移除Function的自動Tuple Splat
  3. SE-0022 使用Swift Function 來建立 Obj-C selector 過去要建立Obj-C selector 只能使用 Selector(“method:arg:”)

    現在可以用下面的方法來建立 selector #selector(MyClass.method(_:arg:))
  4. 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
  5. 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)