【发布时间】:2014-03-04 03:10:27
【问题描述】:
如何重写 init 方法以返回其他类?像这样
ClassA.m
- (id)initWithType:(int)type{
if(type == 0){
return [[ClassB alloc] init];
}
else if(type == 1){
return [[ClassC alloc] init];
}
return [self init];
}
id classInstance = [[ClassA alloc] initWithType:someType];
那么,在ARC中,我是否应该关心ClassA的alloc操作呢?
而且,在 NonARC 中,有什么区别?
顺便说一句,使用类方法实现不在讨论中,我只关心如何覆盖init方法以返回其他类?
【问题讨论】:
标签: objective-c