objective-c – Objective C:我的自定义-init方法没有被调用

objective-c – Objective C:我的自定义-init方法没有被调用,第1张

概述我有一个我从UIView派生的类,我想为它创建一个-init类,如下所示: - (id) init{ if (self = [super init]) { // my initializations here } return self;} 不幸的是,我知道一个事实 – 没有被调用.这是我在.h中定义的方式: -(id)init; 有谁知道它为什么不被调 我有一个我从UIVIEw派生的类,我想为它创建一个-init类,如下所示:
- (ID) init{    if (self = [super init]) {        // my initializations here    }    return self;}

不幸的是,我知道一个事实 – 没有被调用.这是我在.h中定义的方式:

-(ID)init;

有谁知道它为什么不被调用?

附录:

我发现当我在initWithCoder中进行初始化时,它运行得很好.
我添加了initWithFrame,但没有调用.

这是我在IB中指定的对象.

解决方法 UIVIEwController和UIVIEw有两个指定的初始值设定项,它们是从nib调用的initWithCoder,以及从代码调用的initWithFrame. Init不是这些对象的指定初始值设定项.

如果你想要涵盖两个基础,你可以做这样的事情:

-(voID)initializationCodeMethod{    <#Initialization Code Here#>}-(ID)initWithFrame:(CGRect)frame{    if ((self = [super initWithFrame:frame])){        [self initializationCodeMethod];    }    return self;}-(ID)initWithCoder:(NSCoder *)aDecoder{    if ((self = [super initWithCoder:aDecoder])){        [self initializationCodeMethod];    }    return self;}
总结

以上是内存溢出为你收集整理的objective-c – Objective C:我的自定义-init方法没有被调用全部内容,希望文章能够帮你解决objective-c – Objective C:我的自定义-init方法没有被调用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1232712.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存