0

我正在编写一个类来检索和解析从服务器下载的文件。

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

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

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

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

在不中断主线程的情况下,如何才能等到所有信息都下载完毕后再继续执行 parseData 方法?

任何帮助表示赞赏。

4

2 回答 2

0

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

于 2013-01-16T09:00:15.487 回答
-1

你应该考虑使用委托。您将处理下载数据的委托传递给您的下载类。看这里

于 2013-01-16T09:04:19.967 回答