【问题标题】:How to implement a myclassWith... method in Objective-C?如何在 Objective-C 中实现 myclassWith... 方法?
【发布时间】:2011-04-04 03:46:52
【问题描述】:

实现返回自动释放对象的方法的最佳方法是什么?下面的代码能正常工作吗?

@implementation MyClass

-(void) myclassWithSomeParameter:(SomeType) parameter
{
    return [[MyClass allocWithSomeParameter:parameter] autorelease];
}

【问题讨论】:

    标签: objective-c autorelease


    【解决方案1】:

    返回类型必须是MyClass *,你需要alloc新的实例,并且它应该是类方法而不是实例方法(否则你需要MyClass的现有实例)。

    + (MyClass *)myClassWithSomeParameter:(SomeType)parameter {
      return [[[MyClass alloc] initWithSomeParameter:parameter] autorelease];
    }
    

    然后像这样创建实例:

    MyClass *instance = [MyClass myClassWithSomeParameter:parameter];
    

    【讨论】:

    • 哈哈,不好意思,不知道为什么把函数定义为void。
    猜你喜欢
    • 2011-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    • 2011-04-14
    • 2020-11-03
    相关资源
    最近更新 更多