我在和斯威夫特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 let
或guard
一起使用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/