0

我有以下代码,由于某种原因,我的块没有被触发。

int main (int argc, const char * argv[])
{

    @autoreleasepool {

        return 0; 

        HttpRequestHelper *requestHelper = [[HttpRequestHelper alloc] init];

        [requestHelper processRequest:@"www.yahoo.com" callback:^(NSString * response) {

            NSLog(@"%@",response);

        }];


    }

}

@implementation HttpRequestHelper

-(void) processRequest:(NSString *)url callback:(void (^)(NSString *))block
{
    block(url); 
}
4

1 回答 1

1

好吧,首先,你return 0;在 的开头是正确的main(),所以它会立即退出。

即使在那之后,从它的界面,我收集到的不是HttpRequestHelper异步的。它将开始处理请求,但不会立即调用回调。相反,它只会在处理请求后调用回调。问题是,您没有给它处理请求的机会。一旦你发起了请求,你就允许main退出,这会终止程序。

您可能必须运行运行循环,直到调用回调。

于 2012-04-29T02:30:39.353 回答