Vì vậy, tôi vừa nâng cấp lên Xcode 6.3 Beta 3 và rất nhiều lỗi (s) đang xuất hiện liên quan đến những điều sau đây:Initializer không ghi đè lên một initializer được từ nó lớp cha
Initializer không áp đảo khởi tạo được chỉ định từ lớp cha của nó.
override init() {
super.init()
}
Ví dụ này là một lớp UIButton
:
class CustomButton: UIButton {
var target: AnyObject!
var selector: Selector!
var action: (() -> Void)!
override init() { // Initializer does not override a designated initializer from its superclass
super.init() // Must call a designated initializer of the superclass 'UIButton'
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override init(frame: CGRect) {
super.init(frame: frame)
}
}
Đây là một trong UIViewController
lớp học của tôi:
class CustomAlertView: UIViewController {
required init(coder aDecoder: NSCoder) {
fatalError("NSCoding not supported")
}
required override init() { // Initializer does not override a designated initializer from its superclass
super.init() // Must call a designated initializer of the superclass 'UIViewController'
}
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
}
}
Có nó nên , câu trả lời đã chỉnh sửa để rõ ràng – lostInTransit