重複の可能性:
新しいインスタンスを作成するクラスメソッド
[[class alloc] init]
宣言中のステップをスキップできるようにするobjective-cでコンストラクターをどのように宣言しますか。たとえばFraction* somefrac=[[Fraction alloc] init];
、言う代わりに、言うだけFraction* somefrac
で、コンストラクターが残りを行います。
重複の可能性:
新しいインスタンスを作成するクラスメソッド
[[class alloc] init]
宣言中のステップをスキップできるようにするobjective-cでコンストラクターをどのように宣言しますか。たとえばFraction* somefrac=[[Fraction alloc] init];
、言う代わりに、言うだけFraction* somefrac
で、コンストラクターが残りを行います。
これにより、オブジェクトがインスタンス化されて返されます。autorelease
命名規則に従って、返されるオブジェクトを'dオブジェクトにする必要があります。
+ (id)fraction
{
return [[[self alloc] init] autorelease];
}
使用するには
Fraction *fraction = [Fraction fraction];
これは、アップルが提供するクラスと同じパターンに従います。
NSArray *myArray = [NSArray array];
+(Fraction *) fraction
{
return [[[Fraction alloc] init] autorelease];
}
そして、あなたは使用することができます
Fraction *frac = [Fraction fraction];
このスタイルはObjectiveCでよく使用されます