It is impossible to tell from the fragment that you provided exactly what is happening, but this error usually means that you exceeded the passed object. My reading of your description and your code is that the parser is more durable than the object you set as its delegate:
- (void)parseXMLFileAtURL:(NSString *)URL
{
stories = [[NSMutableArray alloc] init];
NSURL *xmlURL = [NSURL URLWithString:URL];
parser = [[NSXMLParser alloc] initWithContentsOfURL:xmlURL];
[parser setDelegate:self];
[parser setShouldProcessNamespaces:NO];
[parser setShouldReportNamespacePrefixes:NO];
[parser setShouldResolveExternalEntities:NO];
[parser parse];
}
, , . , , . , , " " , , , ToProtocol: , , NSXMLParser, , . , NSXMLParser, :
[parser setDelegate: nil]
, , , parseXMLFileAtURL: . iVar , , iVar, (.. dealloc).
, .