2015-06-04 19 views
1

我已經把這個請求在ViewDidLoad,但即使我有一個很好的互聯網連接,它仍然彈出UIAlertView不停止,並沒有返回任何價值。是我需要把超時時間更長嗎?爲什麼不斷彈出uialert甚至互聯網連接是好

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:URL]; 
__unsafe_unretained ASIFormDataRequest *_request = request; 

[request setRequestMethod:@"POST"]; 
[request setPostValue:@"admin_request_user_join_group" forKey:@"tag"]; 
[request setPostValue:groupID forKey:@"group_id"]; 
[request setPostValue:userID forKey:@"poster_user_id"]; 
[request setPostValue:targetUserID forKey:@"target_user_id"]; 
[request setDelegate:self]; 
[request setTimeOutSeconds:30.0]; 
[request setShouldAttemptPersistentConnection:NO]; 
[request startAsynchronous]; 
[request setCompletionBlock:^(void){ 
    NSInteger responseCode = [_request responseStatusCode]; 

    if (responseCode == 200 || responseCode == 201 || responseCode == 202) 
    { 
     NSMutableDictionary *response = (NSMutableDictionary *)[[_request responseString] JSONValue]; 

     NSInteger success = [[response objectForKey:@"success"] integerValue]; 

     if (success == 1) { 
      NSMutableDictionary *dict = [myFriendArray objectAtIndex:sender.tag]; 
      [dict setObject:@"0" forKey:@"join_group_status"]; 

      [myFriendArray replaceObjectAtIndex:sender.tag withObject:dict]; 

      NSIndexPath *rowToReload = [NSIndexPath indexPathForRow:sender.tag inSection:0]; 
      NSArray* rowsToReload = [NSArray arrayWithObjects:rowToReload, nil]; 



     } 
    } 
}]; 

[request setFailedBlock:^(void){ 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Connection Failed" message:[NSString stringWithFormat:NSLocalizedString(@"CONNECTION_FAILED", nil)] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil]; 
    [alert show]; 


}]; 

回答

0
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:URL]; 
__unsafe_unretained ASIFormDataRequest *_request = request; 

[request setRequestMethod:@"POST"]; 
[request setPostValue:@"admin_request_user_join_group" forKey:@"tag"]; 
[request setPostValue:groupID forKey:@"group_id"]; 
[request setPostValue:userID forKey:@"poster_user_id"]; 
[request setPostValue:targetUserID forKey:@"target_user_id"]; 
[request setDelegate:self]; 
[request setTimeOutSeconds:30.0]; 
[request setShouldAttemptPersistentConnection:NO]; 
[request startAsynchronous]; 
[request setCompletionBlock:^(void){ 
    NSInteger responseCode = [_request responseStatusCode]; 

    if (responseCode == 200 || responseCode == 201 || responseCode == 202) 
    { 
     NSMutableDictionary *response = (NSMutableDictionary *)[[_request responseString] JSONValue]; 

     NSInteger success = [[response objectForKey:@"success"] integerValue]; 

     if (success == 1) { 
      NSMutableDictionary *dict = [myFriendArray objectAtIndex:sender.tag]; 
      [dict setObject:@"0" forKey:@"join_group_status"]; 

      [myFriendArray replaceObjectAtIndex:sender.tag withObject:dict]; 

      NSIndexPath *rowToReload = [NSIndexPath indexPathForRow:sender.tag inSection:0]; 
      NSArray* rowsToReload = [NSArray arrayWithObjects:rowToReload, nil]; 



     } 
    } 
[request setFailedBlock:^(void){ 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Connection Failed" message:[NSString stringWithFormat:NSLocalizedString(@"CONNECTION_FAILED", nil)] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil]; 
    [alert show]; 


}]; 


}]; 

這可以幫助你

+0

它表現出與setfailedblock請求警告「捕獲‘請求’強烈該塊很可能會導致保留週期。」 – user4302196

+0

移動「}];」 setfailedblock之後,這意味着它不會顯示uialert,如果有互聯網連接。如果敦有任何互聯網連接怎麼樣? – user4302196

+0

使用可達性檢查互聯網連接..... –