Re: Proper Memory Management
Re: Proper Memory Management
- Subject: Re: Proper Memory Management
- From: Philip Vallone <email@hidden>
- Date: Tue, 19 Jan 2010 16:14:08 -0500
Thanks.. Good question. The method in question "PerformXMLXPathQuery" is a wrapper that was obtained:
http://cocoawithlove.com/2008/10/using-libxml2-for-parsing-and-xpath.html
NSArray *PerformXMLXPathQuery(NSData *document, NSString *query)
{
xmlDocPtr doc;
/* Load XML document */
doc = xmlReadMemory([document bytes], [document length], "", NULL, XML_PARSE_RECOVER);
if (doc == NULL)
{
NSLog(@"Unable to parse.");
return nil;
}
NSArray *result = PerformXPathQuery(doc, query);
xmlFreeDoc(doc);
return result;
}
How can I tell who has ownership of the Array?
Thanks!
On Jan 19, 2010, at 3:56 PM, Dave Carrigan wrote:
>
> On Jan 19, 2010, at 12:52 PM, Dave DeLong wrote:
>
>> None of them.
>>
>> According to the memory management rules, you're only responsible for objects you create via an "alloc", "new", or "copy" method, which none of these are. All of these objects are autoreleased.
>
> Unless PerformXMLXPathQuery returns an object that you own. But if it does that, it should have been given a better name that has the word alloc, new or copy in it.
>
> --
> Dave Carrigan
> email@hidden
> Seattle, WA, USA
>
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden