我有一个进度如下的程序。我调用了一个名为getCharacteristics
. 此方法通过 NSURL 连接(所有网络代码在另一个文件中完成)连接到远程服务器,并且当它收到响应时,它会回调原始类的方法。然后这个原始类解析数据 (xml) 并将其内容存储为地图。
我遇到的问题是,似乎在这个事务的某个地方产生了另一个线程。
这是显示我在做什么的示例代码:
@property map
- (void) aMethod
{
[[WebService getSingleton] callWebService: andReportBackTo: self]
Print "Ready to Return"
return map;
}
- (void) methodThatIsReportedBackToAfterWebServiceRecievesResponse
{
//Parse data and store in map
Print "Done Parsing"
}
我遇到的问题是地图在完全创建之前被返回。此外,在“完成解析”之前打印“准备返回”,这向我表明有多个线程在工作。我对吗?如果是这样,一个简单的锁是让它工作的最好方法吗?