2016-08-19 94 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) 

我希望这可以节省您的无数个小时试图解决这个问题。 :)

相关问题