我在和斯威夫特3公司合作。在我的代码中,我正在钱包应用程序中使用Siri集成。我在该应用程序中收到一个错误。我在谷歌上搜索了一下,但没有找到解决办法。
这是我的代码:

 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”类型的值没有成员“makeWithDictionaryPresentation”
有谁能帮我解决这个问题吗。
提前谢谢。

最佳答案

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

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

它将返回可选的CGPoint实例,以便batter与if letguard一起使用
if let point = CGPoint(dictionaryRepresentation:points[0] as! CFDictionary) {
     print(point)
}

查看CGPoint上的Apple文档了解更多详细信息。

关于ios - swift 3中类型“CGPoint”的值没有成员“makeWithDictionaryRepresentation”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40925984/

10-13 09:27