在NSURLConnection完成后使用来自委托的数据

时间:2013-07-04 08:48:05

标签: objective-c nsurlconnection

我已经创建了一个NSURLConnection,并创建了一个单独的类作为委托,但是在连接完成后我无法使用委托数据。数据从委托类中写入控制台,但不在外部。

在ServerCommunicationDelegate-class(委托)中,方法“connectionDidFinishLoading”:

self.errorLog  = [[NSString alloc] initWithData:self.responseData encoding:NSUTF8StringEncoding];
NSLog(self.errorLog); // Prints the data to console 

在发生连接的类中:

ServerCommunicationDelegate *del = [[ServerCommunicationDelegate alloc] init];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:del];
NSLog(@"Errorlog %@", del.errorLog); // Returns null

“errorLog”是“ServerCommunicationDelegate”的属性。

这里有什么我对代表团范式的误解,还是我可能错过的其他东西?

无论哪种方式,都要提前谢谢。

1 个答案:

答案 0 :(得分:1)

NSURLConnection异步工作。这条线

NSLog(@"Errorlog %@", del.errorLog); // Returns null

在连接完成加载之前执行(可能在它开始之前执行) 负载)。