2015-07-11 119 views
0

我正在Swift中设计一个NSView类扩展。内部使用此试图覆盖NSView的扩展类drawRect

extension NSView { 


    override func drawRect(rect: NSRect) { 


    } 

有错误指向覆盖,并说方法不从其超覆盖任何方法... drawRect这个方法使用Objective-C(即扩展类我试图重写的drawRect? ??)选择器'drawRect'与前面的声明冲突,具有相同的Objective-C选择器

什么? Objective-C的?我正在使用swift。

这是怎么回事?

回答

2

延伸子类然后重写这是已经由定义的方法。

drawRect已经被NSView定义,这就是为什么具有已定义冲突...

为了做一个自定义视图,你打算定义自己的NSView子类并覆盖你的子类的drawRect实施。

class MyView: NSView { 

    override func drawRect(rect: NSRect) { 

    // Your custom implementation .... 

    } 
} 

希望这有助于

+0

DUH!你是对的。我错过了。谢谢 – SpaceDog

+0

不客气:-) –