斯威夫特给出了各种错误

时间:2014-10-25 16:10:50

标签: cocoa swift nsview

当我在Cocoa中对任何内容进行子类化时,我遇到了很多问题,所以我决定创建一个MVCE并在此处发布。亲自尝试一下。

我在Xcode中使用以下选项创建了一个简单的Cocoa应用程序:

  

语言:Swift
使用故事板:否

然后我创建了一个名为Rectangle的NSView子类:

import Foundation
import Cocoa

class Rectangle: NSView {                //1
    init(frame: NSRect) {                //2
        super.init(frame: frame)         //3
    }                                    //4
}                                        //5

奇怪的是,在我打字时,有些错误会来来去去。当我编译项目时,我收到以下错误:

  

// 2:覆盖声明需要'覆盖关键字'
  // 5:'必需'初始化程序" init(编码器:)'必须由NSView'

的子类提供

一旦我开始输入,我就会收到以下其他错误:

  

// 1:使用未声明的类型' NSView'
  // 3:'超级'成员不能在根类中引用

如果我再次编译,之前的两个错误就会消失。

知道我做错了什么吗?就像我说的那样,亲自尝试一下。也许这是一个错误。

1 个答案:

答案 0 :(得分:0)

除了忘记override关键字而忘记实现initWithCoder方法之外,听起来你没有做错任何事情。

请记住,在键入时,代码处于不稳定状态。当你开始编写一行代码时,在完成编写之前,它将充满错误。