实现返回自动释放对象的方法的最佳方法是什么?以下代码是否正常工作?
@implementation MyClass
-(void) myclassWithSomeParameter:(SomeType) parameter
{
return [[MyClass allocWithSomeParameter:parameter] autorelease];
}
答案 0 :(得分:6)
返回类型必须是MyClass *
,您需要alloc
新实例,它应该是类方法而不是实例方法(否则您需要{{1}的现有实例})。
MyClass
然后创建如下的实例:
+ (MyClass *)myClassWithSomeParameter:(SomeType)parameter {
return [[[MyClass alloc] initWithSomeParameter:parameter] autorelease];
}