0

我的类是 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;
}   
4

3 回答 3

1

仅当您打算在代码中调用 initWithImage 并希望它做一些特别的事情时。

于 2012-05-20T14:28:53.143 回答
0

如果你想要额外的功能,你只需要覆盖。

但是,如果我将您的问题理解为:“我需要自定义初始化功能,它应该进入initWithImage还是initWithFrame?那么答案会更复杂。那么您实际上需要覆盖一堆初始化程序,请参阅

于 2013-10-07T22:35:37.370 回答
0

在 Swift 2 中,子类唯一必要的初始化器UIImageView

required init?(coder: NSCoder) { super.init(coder: coder) }
于 2016-05-20T03:52:00.750 回答