1
如何覆蓋init方法返回其他類?像這樣如何覆蓋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方法返回其他類?
對於非弧,只有alloc但不是init,是否可以? – simalone
@simalone很好。除非你在'dealloc'中做了一些奇怪的事情,這需要'init' –
奇怪的東西,比如說什麼? – simalone