当我在Xcode 6 Beta中创建UITextView
的新子类时,会自动提供以下代码。
import UIKit
class TerminalView: UITextView {
init(frame: CGRect) {
super.init(frame: frame)
// Initialization code
}
}
前面的代码(完全由Xcode提供,没有删除)会出现以下错误。
Must call a designated initializer of the superclass 'UITextView'
据我所知,UIView
的所有子类的指定是-initWithFrame:
(或者在Swift,init(frame:)
。如果是这种情况,为什么代码由Xcode提供导致错误?我没有在类中添加新的实例变量,所以还没有其他任何东西必须初始化。
答案 0 :(得分:10)
似乎现在唯一有效的初始化程序是:
super.init(frame: CGRect, textContainer: NSTextContainer?)
可以用
调用super.init(frame: CGRect.zero, textContainer: nil)
这很可能是初始测试版中的一个错误,将在即将发布的测试版中修复。