阻止没有被解雇

时间:2012-04-29 02:14:47

标签: objective-c

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

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); 
}

1 个答案:

答案 0 :(得分:1)

嗯,首先,return 0;开头main(),所以它会立即退出。

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

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