2016-08-19 93 views
31

試圖建立一個CGMutablePath()這樣:爲什麼'nil'與Swift 3中的'UnsafePointer <CGAffineTransform>不兼容?

let path = CGMutablePath() 
CGPathMoveToPoint(path, nil, 30, 0) 

但是編譯器不斷給我下面的錯誤:'nil' not compatible with expected argument type 'UnsafePointer<CGAffineTransform>'。我究竟做錯了什麼?我似乎無法找到其他任何網上。 (是的,我已經試過轉換INTS到CGFloats,但似乎並不有所作爲。)

+0

哪個Xcode版本? –

+0

@MartinR最新測試版(Xcode 8 beta 6) – cyril

回答

57

試試這個:

let path = CGMutablePath() 
path.move(to: CGPoint(x: 30, y: 0)) 

CGPath的API現在導入爲斯威夫特3實例方法。 您可以使用命令單擊CGMutablePath來檢查它們。 或參見the latest reference of CGMutablePath

+0

哇,我很驚訝這個作品。爲什麼Xcode不能將代碼轉換爲Swift 3? – cyril

+3

@cyril,可能是斯威夫特演變得太快的原因之一。所以這個遷移者有點落後於Swift的實際行爲。我發現這是因爲Swift無法遷移我的一個項目。 (如您所見,如果遷移完全成功,則不會檢查整個遷移詳情。) – OOPer

8

試圖一個的CGRect

內畫時,我得到這個錯誤這解決了這個問題對我來說:

let framePath : CGMutablePath = CGMutablePath() 
framePath.addRect(frameRect) 

我希望這可以節省您的無數個小時試圖解決這個問題。 :)

相關問題