【发布时间】:2011-02-21 11:11:04
【问题描述】:
我是 iPhone 线程编程的新手,我有点茫然。
我有一个函数可以解析 XML 并生成在主背景上正常工作的对象数组,但我需要在后台执行,所以我调用 performSelectorInBackground,但调试器抛出 EXC_BAD_ACCESS,我试图调试它但它崩溃在不同的点上,当我运行 Instruments 以获取内存泄漏时,应用程序不会崩溃。
对调试我的应用有什么建议吗?
提前致谢。
我已经更改了它,但错误仍然存在。 EXC_BAD_ACCESS 被抛出在 NSXMLParserDelegate 中,我用 NSLog 和每行不同的数字跟踪它,每次执行它都会在不同的行中崩溃......
我完全迷路了
共享资源是什么意思?例如 XML 文件?
这是后台运行的代码。
NSAutoreleasePool *arPool = [[NSAutoreleasePool alloc] init];
//Cargamos las noticias desde el servidor.
NSString *metadataPath = [[NSBundle mainBundle] pathForResource:@"classes" ofType:@"xml"];
RESTXML *restXML = [[RESTXML alloc] initWithXMLMetadata:metadataPath];
NSString *testXMLPath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"xml"];
NSData *xmlData = [NSData dataWithContentsOfFile:testXMLPath];
NSMutableArray *latestNews = [(NSMutableArray*)[restXML REST2Object:@"doc" andXML:xmlData] retain];
[self performSelectorOnMainThread:@selector(uploadTableData) withObject:nil waitUntilDone:NO];
[arPool release];
你能告诉我一些关于 iPhone 中互斥锁的文档吗?
非常感谢您的宝贵时间
【问题讨论】:
标签: iphone objective-c multithreading