Re: NSXMLParser and initWithStream
Re: NSXMLParser and initWithStream
- Subject: Re: NSXMLParser and initWithStream
- From: Fritz Anderson <email@hidden>
- Date: Mon, 28 May 2012 07:44:16 -0500
On 27 May 2012, at 7:14 PM, John Drake wrote:
> Looking at the documentation for NSXMLParser, it seems like the initWithStream: method to initialize a NSXMLParser would be the perfect solution to my problem. I can initialize the parser with a NSInputStream and then call the parse method on NSXMLParser whenever I receive data over my socket which should in turn call the NSXMLParser delegates.
The documentation for -[NSXMLParser -initWithStream:] is sparse, but I see that the description is "Initializes the receiver with the XML contents from the specified stream _and parses it_" [EA]. I guess that there should be no need to call -[NSXMLParser parse] on the incoming data; the whole point of hooking the parser up to a stream should be that you don't have to manage the stream yourself, right?
> However, I'm not seeing any of the delegates being called, the only method I see being called is the stream delegate stream:handleEvent:.
I wonder if it's productive to make your ContentParser the delegate** of the input stream. It's the NSXMLParser that's interested in the incoming data. The convention in the Delegate pattern is that objects have at most one delegate. I do wonder why your setting of .delegate persists after you pass the stream into the parser.
— F
** In Cocoa parlance, a "delegate" is an object that implements the methods of a delegate protocol (in this case your ContentParser is the delegate of the parser). The methods themselves are "delegate methods." The latter term may be awkward, but "delegate" has to be saved for "the object to which functionality is delegated."
--
Fritz Anderson
Xcode 4 Unleashed: Don't bring your bathroom copy into the kitchen — were you raised in a barn?
<http://x4u.manoverboard.org/>
_______________________________________________
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