Swift class 多重继承
Swift class multiple inheritance
我创建了一个像这样的 class:
class number1: UIScrollView {
init() {
super.init(frame: CGRect(x: 9, y: 780, width: 1024, height: 267))
self.contentSize = CGSize(width: 100, height: 267)
self.backgroundColor = UIColor.clear
self.autoresizingMask = UIView.AutoresizingMask(rawValue: UIView.AutoresizingMask.RawValue(UInt8(UIView.AutoresizingMask.flexibleWidth.rawValue)))
//followed by do blablabla I dont want in my new class
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
现在我想要第二个 class 类似于我的第一个 class 但没有 blablabla。
class number2: number1 {
override init() {
super.init()
self.frame = CGRect(x: 400, y: 10, width: 196, height: 500)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
我正在这样做,但不知道如何删除 "blablabla"。最简单的方法是从 UIScrollView 继承 init 而不是 class number1。怎么做?
这里只是骨架,但应该足够了:
class number1: UIScrollView {
init() {
super.init()
// Do stuff common to all classes
setup()
}
func setup() {
// Do stuff for this class
}
}
class number2: number1 {
override func setup() {
// Do stuff for this class only
}
}
我创建了一个像这样的 class:
class number1: UIScrollView {
init() {
super.init(frame: CGRect(x: 9, y: 780, width: 1024, height: 267))
self.contentSize = CGSize(width: 100, height: 267)
self.backgroundColor = UIColor.clear
self.autoresizingMask = UIView.AutoresizingMask(rawValue: UIView.AutoresizingMask.RawValue(UInt8(UIView.AutoresizingMask.flexibleWidth.rawValue)))
//followed by do blablabla I dont want in my new class
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
现在我想要第二个 class 类似于我的第一个 class 但没有 blablabla。
class number2: number1 {
override init() {
super.init()
self.frame = CGRect(x: 400, y: 10, width: 196, height: 500)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
我正在这样做,但不知道如何删除 "blablabla"。最简单的方法是从 UIScrollView 继承 init 而不是 class number1。怎么做?
这里只是骨架,但应该足够了:
class number1: UIScrollView {
init() {
super.init()
// Do stuff common to all classes
setup()
}
func setup() {
// Do stuff for this class
}
}
class number2: number1 {
override func setup() {
// Do stuff for this class only
}
}