我的类是UIImageView的子类。我像这样创建自定义初始化程序
@interface FishView : UIImageView
@end
@implementation FishView
- (id)initWithFishType:(FishType)fishType {
self = [super init];
if (self) {
//my custom initialization
}
return self;
}
是否需要覆盖initWithImage?
- (id)initWithImage:(UIImage)image
{
self = [super initWithImage:image];
if (self) {
[self initWithFishType:FTNone];
}
return self;
}
答案 0 :(得分:1)
仅当您计划在代码中调用initWithImage并希望它执行特殊操作时。
答案 1 :(得分:0)
如果你想要额外的功能,你只需要覆盖。
但如果我正在阅读你的问题:“我需要自定义初始化功能,它应该进入initWithImage
还是initWithFrame
?那么答案就更复杂了。那么你实际上需要覆盖一个一堆初始化程序,请参阅
答案 2 :(得分:0)
在Swift 2中,UIImageView
子类唯一必需的初始值设定项是
required init?(coder: NSCoder) { super.init(coder: coder) }