Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone NSObject子类交换线程中的NSXMLParser_Iphone_Cocoa_Ios_Nsxmlparser_Nsobject - Fatal编程技术网

Iphone NSObject子类交换线程中的NSXMLParser

Iphone NSObject子类交换线程中的NSXMLParser,iphone,cocoa,ios,nsxmlparser,nsobject,Iphone,Cocoa,Ios,Nsxmlparser,Nsobject,我刚刚创建了NSObject的一个子类,它初始化一个NSXMLParser,解析XML,然后调用我传递给该子类的委托中的一个方法: 初始化器: - (id)initWithData:(NSData *)data interestingKeys:(NSSet *)interestingKeys_ itemElm:(NSString *)itemElement_ delegate:(id <XDelegate>) delegate_ { if((self = [su

我刚刚创建了NSObject的一个子类,它初始化一个NSXMLParser,解析XML,然后调用我传递给该子类的委托中的一个方法:

初始化器:

- (id)initWithData:(NSData *)data interestingKeys:(NSSet *)interestingKeys_
      itemElm:(NSString *)itemElement_ delegate:(id <XDelegate>) delegate_ 
{
    if((self = [super init])) {
        self.delegate = delegate_;

        //create parser and start parsing
        NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];
        parser.delegate = self;
        [parser parse];
        [parser release];
    }   
    return self;
}
- (void) parserDidEndDocument:(NSXMLParser *)parser 
{
    //calls parserDidFinishParsingData: in delegate class
    [self.delegate parserDidFinishParsingData:self.arrayOfDictionaries];
}
[Switching to thread 11523]
[Switching to thread 11523]
然后,我可以获取解析后的数据(存储在
self.arrayOfDictionaries
)并在委托类中使用它

问题是,我收到以下日志消息:

- (id)initWithData:(NSData *)data interestingKeys:(NSSet *)interestingKeys_
      itemElm:(NSString *)itemElement_ delegate:(id <XDelegate>) delegate_ 
{
    if((self = [super init])) {
        self.delegate = delegate_;

        //create parser and start parsing
        NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];
        parser.delegate = self;
        [parser parse];
        [parser release];
    }   
    return self;
}
- (void) parserDidEndDocument:(NSXMLParser *)parser 
{
    //calls parserDidFinishParsingData: in delegate class
    [self.delegate parserDidFinishParsingData:self.arrayOfDictionaries];
}
[Switching to thread 11523]
[Switching to thread 11523]
将NSXMLParser活动放入NSObject子类是否会给自己造成问题?

DDXMLParser.h:
DDXMLParser.m:
用例:

干杯

你还会在哪里使用它?除了一个C函数外,还有一个根类或另一个根类的子类

从您自己的自定义Cocoa对象创建和使用Cocoa对象没有错


日志消息读起来就像来自调试器,与您使用NSXMLParser无关。调试器是否中断了您的应用程序?如果是这样的话,看看它说了些什么。

我可能不知道/表达我的担忧。我的应用程序经常崩溃——所以我将使用子类NSOperation,它更适合执行解析任务。Lazy Table Images应用程序包含一个示例解析操作类。