我正在寻求如何处理这种情况的一般指导。这里有一个具体的例子。
我正在对UIImageView进行子类化,我想覆盖initWithImage方法,在超类使用提供的图像自身初始化后添加我的自己初始化代码。
然而,UIImageView没有记录指定的初始化程序,那么应该调用哪个超类初始化程序以确保正确初始化我的子类?
如果一个类没有指定一个初始化程序,我应该:
我正在对UIImageView进行子类化,我想覆盖initWithImage方法,在超类使用提供的图像自身初始化后添加我的自己初始化代码。
然而,UIImageView没有记录指定的初始化程序,那么应该调用哪个超类初始化程序以确保正确初始化我的子类?
如果一个类没有指定一个初始化程序,我应该:
- 假设调用类的任何(UIImageView)初始化程序是安全的?
- 查找超类(UIView)的指定的初始化程序?
- (id)initWithImage:(UIImage *)image
{
self = [super initWithImage:image];
if (self) {
// DO MY EXTRA INITIALIZATION HERE
}
return self;
}
super
调用该类的任何有效初始化程序,包括它可能继承的初始化程序(尽管其中一些可能没有意义)。 - Hot Licks