Esso
Esso

Reputation: 764

Using data from delegate after NSURLConnection has finished

I've made an NSURLConnection, and made a seperate class to be used as a delegate, but I can't make use of the delegates data after the connection has finished. The data writes to console from within the delegate class, but not outside.

In the ServerCommunicationDelegate-class (the delegate), in method "connectionDidFinishLoading":

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

In the class where the connection takes place:

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

"errorLog" is a property of "ServerCommunicationDelegate".

Is there something I misunderstood about the delegation-paradigm here, or is it maybe something else I've missed?

Either way, thanks in advance.

Upvotes: 0

Views: 42

Answers (1)

Martin R
Martin R

Reputation: 539965

NSURLConnection works asynchronously. The line

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

is executed before the connection has finished loading (probably before it even started loading).

Upvotes: 1

Related Questions