0

重複の可能性:
新しいインスタンスを作成するクラスメソッド

[[class alloc] init]宣言中のステップをスキップできるようにするobjective-cでコンストラクターをどのように宣言しますか。たとえばFraction* somefrac=[[Fraction alloc] init];、言う代わりに、言うだけFraction* somefracで、コンストラクターが残りを行います。

4

2 に答える 2

3

これにより、オブジェクトがインスタンス化されて返されます。autorelease命名規則に従って、返されるオブジェクトを'dオブジェクトにする必要があります。

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

使用するには

Fraction *fraction = [Fraction fraction];

これは、アップルが提供するクラスと同じパターンに従います。

NSArray *myArray = [NSArray array];
于 2011-11-20T18:45:48.173 に答える
0
+(Fraction *) fraction
{
    return [[[Fraction alloc] init] autorelease];
}

そして、あなたは使用することができます

Fraction *frac = [Fraction fraction];

このスタイルはObjectiveCでよく使用されます

于 2011-11-20T18:46:06.997 に答える