我正在Swift中设计一个NSView类扩展。在该扩展类中,我试图使用此
覆盖drawRectextension NSView {
override func drawRect(rect: NSRect) {
}
指向覆盖的错误并说方法不会覆盖其超类中的任何方法...方法drawRect与Objective-C(???)选择器'drawRect'与之前的声明冲突与相同的Objective-C选择器
什么? Objective-C的?我正在使用swift。
发生了什么事?
答案 0 :(得分:2)
您扩展而非子类化,然后覆盖已由超类定义的方法。< / p>
drawRect
已由NSView
定义,这就是为什么与已经定义的冲突...
为了进行自定义视图,您需要定义自己的NSView
子类并覆盖子类的drawRect
实现。
class MyView: NSView {
override func drawRect(rect: NSRect) {
// Your custom implementation ....
}
}
希望这有帮助