簡體   English   中英

NSObject子類切換線程中的NSXMLParser

[英]NSXMLParser in NSObject subclass switching threads

我剛剛創建了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];
}

然后,我可以獲取解析的數據(存儲在self.arrayOfDictionaries ),並在委托類中使用它。

問題是, 我收到以下日志消息:

[Switching to thread 11523]
[Switching to thread 11523]

我是否通過將NSXMLParser活動放入NSObject子類為自己帶來麻煩?

DDXMLParser.h: https ://gist.github.com/762235
DDXMLParser.m: https ://gist.github.com/762236
用例: https : //gist.github.com/762237

干杯

您還將在其他地方使用它? 除了C函數之外,還有一個根類或另一個根類的子類。

從您自己的自定義Cocoa對象創建和使用Cocoa對象沒有任何問題。

日志消息看起來就像是來自調試器,與您使用NSXMLParser無關。 調試器是否中斷了您的應用程序? 如果是這樣,請查看它並查看其內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM