返回后释放对象

Leo*_*onS 0 iphone memory-management objective-c ios

我使用一个对象来获取一些值并返回这个值.将返回的值仍在此对象中.下面是代码:

    XMLErrorParser *xmlErrorParser = [XMLErrorParser alloc];
    [xmlErrorParser parseData: data];
    return xmlErrorParser.errors;
Run Code Online (Sandbox Code Playgroud)

那么如何释放xmlErrorParser对象并返回它的值呢?谢谢.

Geo*_*che 6

只需返回对象errors保持的自动发布版本.

没有给我们更多关于什么的细节XMLErrorParser,让我们假设errors有一些NSArray:

XMLErrorParser *xmlErrorParser = [[XMLErrorParser alloc] init];
[xmlErrorParser parseData: data];
NSArray *errors = [[xmlErrorParser.errors retain] autorelease];
[xmlErrorParser release];
return errors;
Run Code Online (Sandbox Code Playgroud)

(请注意,您错过了错误解析器对象的初始化.)