[英]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.