如何在objective-c中声明构造函数,以便在声明期间跳过[[class alloc] init]
步骤;不要说例如Fraction* somefrac=[[Fraction alloc] init];
,而是说Fraction* somefrac
,构造函数会完成其余的工作。
答案 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中被大量使用