선언

2011-11-20 2 views
0

가능한 중복 : 당신이 [[class alloc] init]를 건너 뛸 수 것이 목표 - C에서 생성자를 선언 할 방법
Class methods which create new instances선언

선언하는 동안 단계; 예를 들어 Fraction* somefrac=[[Fraction alloc] init];을 말하는 대신 Fraction* somefrac이라고 말하면 나머지는 생성자가 처리합니다.

답변

3

이렇게하면 개체가 인스턴스화되어 반환됩니다. 명명 규칙에 따라 반환되는 객체는 autorelease이어야합니다.

+ (id)fraction 
{ 
    return [[[self alloc] init] autorelease]; 
} 

사용에

Fraction *fraction = [Fraction fraction]; 

이 예컨대 사과 제공된 클래스와 동일한 패턴을 따른다

NSArray *myArray = [NSArray array]; 
+0

일이 내가 할 거라고 방법이다. :) –

+0

사실. 내 중복 (및 덜) 대답을 삭제했습니다. – jrturton

0
+(Fraction *) fraction 
{ 
    return [[[Fraction alloc] init] autorelease]; 
} 

한 다음이 스타일은 목표 C에서 많이 사용되는

Fraction *frac = [Fraction fraction]; 

를 사용할 수는

+0

'Fraction'을 서브 클래스 화하려면 어떻게 될까요? –

+0

@ Paul.s : 그렇다면 직접 수업 방법을 제공해야합니다. '[파생 된 기본]'을 호출하는 것이 논리적이지는 않지만'[파생 된 파생 된]' – Dani

+0

그것은 나에게별로 말리지 않습니다. 마찬가지로 당신은 같은 방법을 다시 쓰는가? –