【问题标题】:Why is 'nil' not compatible with 'UnsafePointer<CGAffineTransform>' in Swift 3?为什么'nil' 与 Swift 3 中的 'UnsafePointer<CGAffineTransform>' 不兼容?
【发布时间】:2017-05-19 02:18:26
【问题描述】:

尝试像这样创建CGMutablePath():

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

但编译器不断给我以下错误:'nil' not compatible with expected argument type 'UnsafePointer&lt;CGAffineTransform&gt;'。我究竟做错了什么?我似乎无法在网上找到其他任何东西。 (是的,我尝试将 Ints 转换为 CGFloats,但似乎没有什么不同。)

【问题讨论】:

  • 哪个 Xcode 版本?
  • @MartinR 最新测试版(Xcode 8 beta 6)

标签: swift swift3 cgpath


【解决方案1】:

尝试在 CGRect 内绘图时遇到此错误

这为我解决了:

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

我希望这可以为您节省无数时间来解决这个问题。 :)

【讨论】:

    【解决方案2】:

    试试这个:

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

    CGPath API 现在在 Swift 3 中作为实例方法导入。 您可以通过命令单击CGMutablePath 来检查它们。 或查看the latest reference of CGMutablePath。

    【讨论】:

    • 哇,我很惊讶这个作品。 Xcode 没有将代码转换为 Swift 3 的任何原因?
    • @cyril ,一个原因可能是 Swift 发展得太快了。所以迁移器有点落后于 Swift 的实际行为。我发现这是因为 Swift 无法迁移我的一个项目。 (如您所见,如果迁移完全成功,您将不会检查整个迁移详细信息。)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 2021-05-20
    • 2013-10-21
    • 2017-10-08
    • 2014-11-06
    相关资源
    最近更新 更多