我有这个简单的场景:
在我的计划中应该发生类似这样的事情
(在MAIN.m中)
myClass *foo = [[myClass alloc] init];
NSArray *array = [foo returnAnArray];
myClass 的作用是打开一个新的NSURLConnection,检索一些数据 - 当它准备就绪时 - 解析它并返回一个数组。
为了返回一个包含解析数据的数组,我写了这个简单的
(NSArray *) returnArray:(NSString *)dataDownloadedFromWeb
为了知道数据何时完成下载以及何时开始解析,我正在使用
- (void) connectionDidFinishDownloading: (NSURLConnection *connection)
但是如果connectionDidFinishLoading是VOID,我可以调用 returnArray:吗? :(
我希望这是有道理的...我真的被卡住了,我似乎无法找到解决方案。我试过NSNotification,但它似乎也没有用。
感谢大家的支持! 恩里科
答案 0 :(得分:1)
大概是指你的意思
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
?
无论如何,你不要等到它完成了 - 你准备好了解数据
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
答案 1 :(得分:0)
您需要自己实现connectionDidFinishDownloading。您需要创建一个委托对象,在创建它时将其传递给NSURLConnection。委托对象需要实现connectionDidFinishDownloading。
NSURLConnection将在合适的时间在您的委托对象上调用connectionDidFinishDownloading。
还有其他信息here