0

我正在用 Swift 设计一个 NSView 类扩展。在该扩展类中,我正在尝试使用此覆盖 drawRect

extension NSView {


  override func drawRect(rect: NSRect) {


  }

有一个错误指向覆盖并说Method 没有覆盖其超类中的任何方法... 带有 Objective-C (???) 选择器的方法 drawRect 与具有相同 Objective-C 选择器的先前声明冲突

什么?目标-C?我正在使用迅速。

到底是怎么回事?

4

1 回答 1

2

您正在扩展而不是子类化,然后覆盖已由超类定义的方法。

drawRect已经由 定义NSView,这就是为什么与已经定义的冲突...

为了进行自定义视图,您打算定义自己的子类NSView并覆盖子类的drawRect实现。

class MyView: NSView {

    override func drawRect(rect: NSRect) {

     // Your custom implementation ....

    } 
}

希望这可以帮助

于 2015-07-11T16:41:50.707 回答