
-(ID) init { [super init]; NSLog(@"Init triggered.");} 如果我调用-initWithFrame:方法,上面的-init也会被触发吗?
解决方法 每个类都应该有一个 designated initialiser.如果UIImageVIEw遵循这个约定(它应该,但我还没有测试过),那么你会发现调用-init最终会调用-initWithFrame:.如果要确保运行init方法,您所要做的就是覆盖父类的指定初始化,如下所示:
-(ID) initWithFrame:(CGRect)frame;{ if((self = [super initWithFrame:frame])){ //do initialisation here } return self;} 或者像这样:
//always overrIDe superclass's designated initialiser-(ID) initWithFrame:(CGRect)frame;{ return [self initWithSomethingElse];}-(ID) initWithSomethingElse;{ //always call superclass's designated initializer if((self = [super initWithFrame:CGRectZero])){ //do initialisation here } return self;} 总结 以上是内存溢出为你收集整理的objective-c – initWithFrame:触发init吗?全部内容,希望文章能够帮你解决objective-c – initWithFrame:触发init吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)