在Objective C中分配和初始化的构造函数声明

时间:2011-11-20 18:42:24

标签: objective-c default-constructor

  

可能重复:
  Class methods which create new instances

如何在objective-c中声明构造函数,以便在声明期间跳过[[class alloc] init]步骤;不要说例如Fraction* somefrac=[[Fraction alloc] init];,而是说Fraction* somefrac,构造函数会完成其余的工作。

2 个答案:

答案 0 :(得分:3)

这将实例化对象并将其返回。遵循命名约定,您需要将其作为返回的autorelease d对象。

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

使用它

Fraction *fraction = [Fraction fraction];

这与苹果提供的类型具有相同的模式,例如

NSArray *myArray = [NSArray array];

答案 1 :(得分:0)

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

然后你可以使用

Fraction *frac = [Fraction fraction];

这种风格在目标c中被大量使用