我已经创建了一个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”的属性。
这里有什么我对代表团范式的误解,还是我可能错过的其他东西?
无论哪种方式,都要提前谢谢。
答案 0 :(得分:1)
NSURLConnection
异步工作。这条线
NSLog(@"Errorlog %@", del.errorLog); // Returns null
在连接完成加载之前执行(可能在它开始之前执行) 负载)。