-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