Быстрое наследование класса Swift - PullRequest
0 голосов
/ 12 ноября 2018

Я создал такой класс:

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 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")
}

}

Я делаю это так, но не знаю, как убрать «блаблаблу». Проще всего было бы унаследовать init от UIScrollView вместо класса номер1. Как это сделать?

1 Ответ

0 голосов
/ 12 ноября 2018

Только голые кости, но этого должно быть достаточно:

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
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...