在iOS中是否有一个始终被调用的init方法?

在iOS中是否有一个始终被调用的init方法?,第1张

概述是否有一个总是在 Cocoa中调用方法?许多类都有init或initWith,但更糟糕的是它们可以从nib或其他东西加载.在这种情况下,我不想在周围找到它是如何做到的.我只是想设置一些初始变量和其他东西,我想要一个子类的方法,我可以依赖它,无论它是UIView,UIViewController还是UITableViewCell等. 不,没有这样的方法. init来自NSObject,因此每个对象 是否有一个总是在 Cocoa中调用的方法?许多类都有init或initWith,但更糟糕的是它们可以从nib或其他东西加载.在这种情况下,我不想在周围找到它是如何做到的.我只是想设置一些初始变量和其他东西,我想要一个子类的方法,我可以依赖它,无论它是UIVIEw,UIVIEwController还是UItableVIEwCell等.解决方法 不,没有这样的方法. init来自NSObject,因此每个对象都可以使用它,并且子类定义它们自己的初始化方法.例如,UIVIEw定义了initWithFrame:此外还有来自协议的init方法,例如定义initWithCoder:的NSCoding.这是Objective-C的动态特性,任何东西都可以随时扩展.话虽如此,有一些模式. UIVIEwController几乎总是采用initWithNibname:bundle:而UIVIEw几乎总是采用initWithFrame:或initWithCoder:.我所做的是制作一个内部初始化方法,让其他人调用它.

- (voID)initialize{    //Do stuff}- (ID)initWithFrame:(CGRect)frame{    self = [super initWithFrame:frame];    if(self)    {        [self initialize];    }}- (ID)initWithCoder:(NSCoder *)aCoder{    self = [super initWithCoder:aCoder];    if(self)    {        [self initialize];    }}
总结

以上是内存溢出为你收集整理的在iOS中是否有一个始终被调用的init方法?全部内容,希望文章能够帮你解决在iOS中是否有一个始终被调用的init方法?所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1074289.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存