【发布时间】:2011-06-28 10:19:48
【问题描述】:
我在 Objective-C 中创建了一个自定义对象。现在我想创建一个自定义初始化程序。该对象有两个属性,名称和分数。所以我的初始化程序如下:
- (id)initWithName:(NSString *)playerName {
if ((self = [super init])) {
self.name = [playerName retain];
self.score = [NSNumber numberWithInt:0];
}
return self;
}
我在这里正确使用 retain 吗?或者我可以把它做成self.name = playerName;之类的吗?
此外,假设我想要另一个初始化程序,但将 initWithName:playerName 保留为指定的初始化程序。如何让第二个初始化程序调用第一个?
对于最后一个问题,我知道我也需要重写 - (id)init 方法。但是,我在那里做什么?如果仅使用 init 初始化类,只需分配测试属性?
谢谢!
【问题讨论】:
标签: iphone objective-c cocoa-touch ipad