在初始化的時候傳入一個固定的參數。
- 1 在自定義的初始化方法中,一定要調用父類的 designated 初始化方法 即
init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?)
或
init?(coder aDecoder: NSCoder)
同時實現
required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") }
方法,具體如下:
init(withCourseId cId: String) { super.init(nibName: nil, bundle: nil) courseId = cId } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") }
- 2 可以用convenience 標識,定義便利構造方法
convenience init(withCourseId cId: Any) { self.init() let courseIdStr = String(describing: cId) courseId = courseIdStr }