我正在尝试同时学习Swift和Cocoa。我有一个NSView的子类(实际上是NSControl)。在这个子类中,我试图运行以下行:
self.convertPoint(aPoint: NSPoint(0.0, 0.0), fromView: self)
当我在代码中有这一行时,我收到错误消息:
模糊地使用' convertPoint'
看起来在Cocoa中,有两个重载的convertPoint方法具有完全相同的类型签名,我试图在这里使用。我该如何解决这种歧义?
答案 0 :(得分:3)
您需要解决两件事:
“不明确使用convertPoint
”的修复只是删除aPoint:
参数名称:
self.convertPoint(NSPoint(x: 0.0, y: 0.0), fromView: self)
相比之下,NSPoint
的初始化程序需要包含其属性名称:
NSPoint(x: 0.0, y: 0.0)
您可以通过尝试为var
创建一个独立的NSPoint
来实际看到这一点:
var p = NSPoint(0.0, 0.0)
它会给你错误:“在调用中缺少参数标签x:y:
”