gpt4 book ai didi

swift - 试图从扩展类覆盖 NSView 的 drawRect

转载 作者:行者123 更新时间:2023-11-28 13:10:51 25 4
gpt4 key购买 nike

我正在用 Swift 设计一个 NSView 类扩展。在那个扩展类中,我试图用这个覆盖 drawRect

extension NSView {


override func drawRect(rect: NSRect) {


}

有一个指向重写的错误,并说 方法没有重写其父类(super class)中的任何方法...方法 drawRect with Objective-C (???) 选择器 'drawRect' 与之前的声明冲突相同的 Objective-C 选择器

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

这是怎么回事?

最佳答案

您是在扩展,而不是子类化,然后覆盖一个已经由父类(super class)定义的方法。

drawRect 已经被 NSView 定义,这就是为什么与already defined ... 发生冲突的原因。

为了实现自定义 View ,您需要定义自己的 NSView 子类并覆盖子类的 drawRect 实现。

class MyView: NSView {

override func drawRect(rect: NSRect) {

// Your custom implementation ....

}
}

希望对你有帮助

关于swift - 试图从扩展类覆盖 NSView 的 drawRect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31359178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com