首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将超类初始化方法链接到指定的初始值设定项

将超类初始化方法链接到指定的初始值设定项
EN

Stack Overflow用户
提问于 2012-04-06 16:54:25
回答 1查看 102关注 0票数 0

由于每个类都从超类继承初始化器,这就是我将init的默认实现链接到其指定的初始化器的方式。(它正在工作。)

链接:

代码语言:javascript
复制
-(id)init {
    return [self initWithItemName:@"Default Value" 
                    valueInDollar:0 
                     serialNumber:@""];
}

初始化器:

代码语言:javascript
复制
-(id)initWithItemName:(NSString *)myItemName
        valueInDollar:(int)myValueInDollar
         serialNumber:(NSString *)mySerialNumber;

我的问题是,我总是必须像我做的那样链接我自己的初始化器(链接)吗?那么,如果没有下面的代码,自己的初始化器将永远不会被调用?我说的对吗?

代码语言:javascript
复制
-(id)init {
    return [self myInitMethod......"];
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-06 17:08:45

如果只使用initWithItemName初始化对象,则根本不需要定义init方法。初始化器只是普通的方法(不涉及魔法),所以你所调用的就是将要调用的。但是实现init方法是一种很好的做法,这样它就可以被调用,并且对象将处于一致的状态。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10041233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档