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];
}];
它表現出與setfailedblock請求警告「捕獲‘請求’強烈該塊很可能會導致保留週期。」 – user4302196
移動「}];」 setfailedblock之後,這意味着它不會顯示uialert,如果有互聯網連接。如果敦有任何互聯網連接怎麼樣? – user4302196
使用可達性檢查互聯網連接..... –