• 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: NSXMLParser frees itself on error?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSXMLParser frees itself on error?


  • Subject: Re: NSXMLParser frees itself on error?
  • From: Jesper Storm Bache <email@hidden>
  • Date: Mon, 4 May 2009 14:34:16 -0700

Hi Stephen,
I agree with you, deleting the owner of a delegate from a delegate callback (either directly, or though an auto-release pool) is not a good practice.
Lifetime should be managed on the outside of the parser (after "parse" returns).


Jesper


On May 4, 2009, at 11:31 AM, Stephen J. Butler wrote:

On Fri, May 1, 2009 at 11:18 AM, Jesper Storm Bache <email@hidden> wrote:
I have not used NSXMLParser, but as far as I can tell from your email,
cleanupShowParsing is called in response to a call to the parser delegate.
In that case, you should not release the parser (because it is calling your
delegate and is on the stack).
Try using autorelease instead.

That could also be dangerous. What if the parser sets up its own autorelease pool while walking the XML document? You could have a situation like this:

- (void) parse {
 [self doSomething];

 while (notDone) {
   NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

    [delegate callbackMethod];

   [pool drain];
 }

 [self doSomethingMore];
}

What you're suggesting would put the parser into the inner autorelease pool!

I still maintain that it's never safe to release/autorelease an object
from inside one of it's delegate calls. If it works at all, you're
implicitly relying on an implementation detail that's subject to
change.
_______________________________________________

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


References: 
 >NSXMLParser frees itself on error? (From: Mike Manzano <email@hidden>)
 >Re: NSXMLParser frees itself on error? (From: Jesper Storm Bache <email@hidden>)
 >Re: NSXMLParser frees itself on error? (From: "Stephen J. Butler" <email@hidden>)

  • Prev by Date: Re: Discussion on how to draw text like that seen in toolbars
  • Next by Date: NSImage drawing
  • Previous by thread: Re: NSXMLParser frees itself on error?
  • Next by thread: Re: NSXMLParser frees itself on error?
  • Index(es):
    • Date
    • Thread