【发布时间】:2014-10-25 16:10:49
【问题描述】:
在 Cocoa 中对任何东西进行子类化时,我在使用 Swift 时遇到了很多问题,因此我决定创建一个 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: 'required' 初始化器 'init(coder:)' 必须由 'NSView' 的子类提供
我一开始输入,就会收到以下附加错误:
//1:使用未声明的类型'NSView'
//3: 'super' 成员不能在根类中被引用
如果我再次编译,之前的两个错误就会消失。
知道我做错了什么吗?就像我说的,你自己试试。也许这是一个错误。
【问题讨论】: