我正在寻找一种向多个初始化方法添加新参数的便捷方法。它有点难以描述,但我的问题如下:
我有一个班级女巫实现了各种初始化方法。铁
@interface Circle {
CGPoint center;
float radius;
}
- (id)initWithCenter:...radius:...;
- (id)initWithRect:...;
- (id)initWithPoly:...;
现在我想创建一个十字准线类作为子类。所以我想添加一些行作为实例变量。所以问题是,每个十字准线对象都必须用一些特定的值进行初始化,但是初始化圆的方法当然不会改变。所以我想要超类中的每个初始化方法,但将这些特定的参数添加到每个。
直接的方法(在我没有经验的眼里)是覆盖女巫中的每个方法,然后调用相应的超级方法,然后做我的事情。但是,如果您有 10 个或更多的 init 方法并且只想为每个方法添加相同的参数,这将非常烦人。所以我问是否有更好的方法来实现这一点?有或没有修改超类的能力。
多谢