我正在寻找有关如何处理这种情况的一般指导。这是一个具体的例子。
我是 UIImageView 的子类化,并且我想重写 initWithImage 以在超类 init 本身与提供的图像之后添加我自己的初始化代码。
但是,没有记录 UIImageView 的指定初始化程序,所以我应该调用哪个超类初始化程序来确保我的子类被正确初始化?
如果一个类没有指定初始化器,我是否:
- 假设调用任何类的 (UIImageView) 初始化程序是安全的?
- 查看指定初始化程序的超类(UIView)?
在这种情况下,#1 似乎是答案,因为在我的重写初始化程序中执行以下操作是有意义的:
- (id)initWithImage:(UIImage *)image
{
self = [super initWithImage:image];
if (self) {
// DO MY EXTRA INITIALIZATION HERE
}
return self;
}