내 코드 :비동기 호출
NSMutableArray *sstr = [[DBModel database]getCName];
NSArray *aarr = [[sstr objectAtIndex:0] componentsSeparatedByString:@"!"];
acName = [aarr objectAtIndex:0];
acMobileno = [aarr objectAtIndex:1];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http:///userstatus.php?name=%@&mobileno=%@&status=off",[aarr objectAtIndex:0],[aarr objectAtIndex:1]]];
NSMutableURLRequest *postRequest = [[NSMutableURLRequest alloc]initWithURL:url];
[postRequest setHTTPMethod:@"POST"];
NSString *stringBoundary = @"------------------------14737809831466499882746641449";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",stringBoundary];
[postRequest addValue:contentType forHTTPHeaderField: @"Content-Type"];
NSMutableData *postBody = [NSMutableData data];
//name
[postBody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"name\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithFormat:@"%@",[aarr objectAtIndex:0]] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
//mobileno
[postBody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"mobileno\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithFormat:@"%@",[aarr objectAtIndex:1]] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
//status
NSString *status = @"off";
[postBody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"status\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithFormat:@"%@",status] dataUsingEncoding:NSUTF8StringEncoding]];
[postBody appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postRequest setHTTPBody:postBody];
NSData *returndata=[NSURLConnection sendSynchronousRequest:postRequest returningResponse:nil error:nil];
NSString *string1=[[NSString alloc]initWithData:returndata encoding:NSUTF8StringEncoding];
NSLog(@"OFF Status report = %@",string1);
내가 didEnterBackground
방법 performSelectorInBackground:
이 코드를 실행하고 있습니다.
performSelector
방법을 사용으로 문제가 아니면 비동기이 요청을 변경해야 하는가?
UI 변경 사항은 주 스레드에서 가장 잘 수행됩니다. 당신이 백그라운드 스레드에서 행동으로 수행되면, 다시'사용하여 메인 스레드 호출 - (무효)가 performSelectorOnMainThread을 (SEL) aSelector withObject : (ID) 인수 waitUntilDone : (BOOL) wait' 테이블을 업데이트 .. – Roshit
오른쪽 .. 내 나쁜 .. ** ** 테이블 ** 서버 ** 테이블을 업데이트하는 대신 ** 업데이트 테이블을 읽으십시오. – Roshit