我有以下代码:
while ( /* Some condition that will not be met in this example */ ) {
if( shouldSendRequest ) {
[launchpad getRequestToken];
}
else {
// Next step
}
}
- (void)getRequestToken {
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue]
completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
[self requestForRequestTokenDidComplete:data withResponse:response withError:error];
}];
}
-(void)requestForRequestTokenDidComplete:(NSData *)data
withResponse:(NSURLResponse *)response withError:(NSError *)error {
// Deal with the returned token
}
getRequestToken
我遇到的问题是,只要getRequestToken
在 while 循环内,就永远不会调用完成处理程序。一旦我注释掉 while 循环,一切正常。
这里发生了什么,是否有可能阻止它?我计划使用 while 循环来防止在这个(和其他)完成处理程序完成他们的事情之前继续执行流程。