Я - полный нуб на объективе-C, так что это может быть очень глупым вопросом для многих из вас.
В настоящее время у меня есть вид с кнопкой «SignIn», которая при нажатии активирует IBAction sigupUp, который я определил ниже. По сути, этот метод должен выполнить вызов JSON и получить обратно некоторые данные о пользователе.
Итак, прямо сейчас мой код выглядит примерно так:
-(IBAction)signIn:(id)sender{
//run registration API call
//establish connection
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d",[postData length]];
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://www.apicallhere.com/api/auth"]]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Current-Type"];
[request setHTTPBody:postData];
[[NSURLConnection alloc]initWithRequest:request delegate:self];
responseData = [[NSMutableData data] retain];
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{[responseData setLength:0];}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{[responseData appendData:data];}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{/*NSLog(@"%@",error);*/}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection{
NSString *response=[[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
....code carries on from here.
}
Как видите, проблема с моим кодом заключается в том, что, хотя он и инициируется с помощью метода SignUp, он завершается с помощью метода connectionDidFinishLoading. Я хочу иметь весь этот код в одном методе. Не два отдельных, так как я хочу иметь возможность вернуть логическое значение, подтверждающее, было ли соединение успешным или нет.
Если бы кто-то мог сказать мне, как кодировать эту процедуру в один метод, я был бы очень признателен.