• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Proper Memory Management
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Proper Memory Management


  • Subject: Re: Proper Memory Management
  • From: Jack Carbaugh <email@hidden>
  • Date: Tue, 19 Jan 2010 16:20:35 -0500

It is my understanding that, the array returned as "result" would be auto released. Therefore, you would want to retain it for your use, then release it later.


On Jan 19, 2010, at 4:14 PM, Philip Vallone wrote:

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

_______________________________________________

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


  • Follow-Ups:
    • Re: Proper Memory Management
      • From: Dave Carrigan <email@hidden>
    • Re: Proper Memory Management
      • From: Philip Vallone <email@hidden>
References: 
 >Proper Memory Management (From: Philip Vallone <email@hidden>)
 >Re: Proper Memory Management (From: Dave DeLong <email@hidden>)
 >Re: Proper Memory Management (From: Dave Carrigan <email@hidden>)
 >Re: Proper Memory Management (From: Philip Vallone <email@hidden>)

  • Prev by Date: Re: Proper Memory Management
  • Next by Date: Re: Proper Memory Management
  • Previous by thread: Re: Proper Memory Management
  • Next by thread: Re: Proper Memory Management
  • Index(es):
    • Date
    • Thread