-2
这里是我的代码:AFHTTPRequestOperationManager不是叫(没有反应/无faillure)
[[AFNetworkReachabilityManager sharedManager] startMonitoring];
mainManager = [AFHTTPRequestOperationManager manager];
mainManager.requestSerializer.timeoutInterval = 30;
我初始化我AFHTTPRequestOperationManager这样。
urlToWhere = @"myurl.php";
parameters = @{@"user_id": "1"};
NSLog(@"a");
[mainManager POST:urlToWhere parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"result");
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error");
}];
NSLog(@"b");
事实是我的a显示在日志中,但没有显示“result”或“error”,然后显示b。
AFHTTPRequestOperationManager会闪避吗?
只有在收到响应或发生错误时才会调用Result和Error。你期望得到的回应有多大? POST方法是后台线程中的块,不会立即显示。 – emotality
我希望我的代码在继续之前等待答案,所以我有\t'dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); \t mainManager.completionQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);'在它前面,'dispatch_semaphore_wait(信号量,DISPATCH_TIME_FOREVER);'结尾。仍然不起作用 –
'urlToWhere'不是一个有效的URL。这就是为什么这不起作用。 – mattt