How to access property in sub method after it runs?

Posted by Warren on Stack Overflow See other posts from Stack Overflow or by Warren
Published on 2014-06-09T03:15:30Z Indexed on 2014/06/09 3:25 UTC
Read the original article Hit count: 132

Filed under:
|

I'm having a hard time working this one out but I think it should be pretty simple. Basically, I have this method which talks to a webservice and I need to return some data from the sub method, the "authCode". What am I doing wrong? How can I get the authCode out of the manager, or can I create a block or something to to ensure that the manager block runs first? Am I even using the right words - blocks, sub methods??? Please help :)

- (NSString *)getAuthCodeEXAMPLE {
__block NSString *returnString = @"nothing yet!";
NSURL *baseURL = [NSURL URLWithString:BaseURLString];
NSDictionary *parametersGetAuthCode = @{@"req": @"getauth"};

AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithBaseURL:baseURL];
manager.responseSerializer = [AFJSONResponseSerializer serializer];

[manager POST:APIscript parameters:parametersGetAuthCode success:^(NSURLSessionDataTask *task, id responseObject) {
    if ([task.response isKindOfClass:[NSHTTPURLResponse class]]) {
        NSHTTPURLResponse *r = (NSHTTPURLResponse *)task.response;
        if ([r statusCode] == 200) {
            self.returnedData = responseObject;
            NSString *authCode = [self.returnedData authcode];
            NSLog(@"Authcode: %@", authCode);
            returnString = authCode;
        }
    }
} failure:^(NSURLSessionDataTask *task, NSError *error) {
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error" message:[error localizedDescription] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
    [alertView show];
}];

//this currently returns "nothing yet!"
return returnString;

}

© Stack Overflow or respective owner

Related posts about objective-c

Related posts about xcode