在初始化的时候传入一个固定的参数。
- 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 }