类型'CGPoint'的值在swift 3中没有成员'makeWithDictionaryRepresentation'

时间:2016-12-02 06:18:29

标签: ios swift swift3 cgpoint

我正在使用Swift 3.在我的代码中,我在Wallet App中使用Siri集成。我在该App中收到错误。我在谷歌搜索它,但我没有找到它的解决方案。

这是我的代码:

 func createPath(_ points: NSArray) -> UIBezierPath {
        let path = UIBezierPath()
        var point = CGPoint()

        //CGPointMakeWithDictionaryRepresentation((points[0] as! CFDictionary), &point)
        point.makeWithDictionaryRepresentation((points[0] as! CFDictionary)) // In this line I am getting an error
        path.move(to: point)

        var index = 1
        while index < points.count {

            //CGPointMakeWithDictionaryRepresentation((points[index] as! CFDictionary), &point)
            point.makeWithDictionaryRepresentation((points[index] as! CFDictionary))
            path.addLine(to: point)

            index = index + 1
        }
        path.close()

        return path
    }

以下是我遇到的错误:

  

'CGPoint'类型的值没有成员'makeWithDictionaryRepresentation'

任何人都可以帮我解决。  在此先感谢。

1 个答案:

答案 0 :(得分:1)

在Swift 3中,您需要使用init CGPoint(dictionaryRepresentation:)

let point = CGPoint(dictionaryRepresentation:points[0] as! CFDictionary)

它将返回可选CGPoint个实例,以便与if letguard

一起使用
if let point = CGPoint(dictionaryRepresentation:points[0] as! CFDictionary) {
     print(point)
}

查看CGPoint上的Apple文档了解详情。