2013-01-16 134 views
0

我正在写一个类,它检索并解析从服务器下载的文件。等待条件继续方法之前

我有一个解析信息的类中的方法,并且在初始化类时下载信息。

问题是,在信息本身下载之前,有时会调用解析信息的方法。

FileParser *instance = [[FileParser alloc] initWithURL:@"somewhere"]; 
[instance parseData]; 

每次类初始化后的parseData方法直接调用,它失败,因为不是所有的内容都是可用的。

在继续执行parseData方法之前,如何在不中断主线程的情况下等待所有信息被下载?

任何帮助表示赞赏。

+0

看一看['NSOperation'](https://www.google.com/webhp?sourceid=chrome-instant&ion=1&ie=UTF-8#hl=en&tbo=d&spell=1&q=nsoperationqueue+实施例&SA = X&EI = Lmz2ULOODcjLsgb104GIDA&VED = 0CC4QBSgA&BAV = on.2,or.r_gc.r_pw.r_cp.r_qf。&FP = 65fe59e85b7b1b3b&BIW = 1505&波黑= 867&离子= 1)。它基本上允许您在后台队列中执行多个操作,并且还支持操作依赖性。 – Alladinian

回答

-1

你应该考虑使用代表。 您将您的下载类传递给将处理下载的数据的委托。 见here

0

简单:您需要在后台线程/队列上执行整个操作,或者重构您的类以实现更异步的设计。该设计将以回调机制为中心,如委托或块。

相关问题