2012-07-25 59 views
0
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"ht...y.php"]]; 
[request setHTTPMethod:@"POST"]; 
NSString *postString = [NSString stringWithFormat: @"User=A&Pass=1"]; 
[request setValue:[NSString stringWithFormat:@"%d", [postString length]] forHTTPHeaderField:@"Content-length"]; 
[request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]]; 
NSHTTPURLResponse *urlResponse = nil; 
NSError *error = [[NSError alloc] init]; 
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error]; 

dispatch_async(kBgQueue, ^{ 
NSData* data2 = [NSData dataWithContentsOfURL: notyURL]; 
[self performSelectorOnMainThread:@selector(fetchedData:) withObject:data2 waitUntilDone:YES];}); 

如何使dispatch_async使用數據而不是data2?如何在ios應用程序中使用發佈數據和json

回答

1

而不是使用sendSynchronousRequestdispatch_async的,我建議使用NSURLConnection的類方法sendAsynchronousRequest,像這樣:

[NSURLConnection sendAsynchronousRequest:request 
            queue:[NSOperationQueue mainQueue] 
         completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) { 

    [self performSelectorOnMainThread:@selector(fetchedData:) withObject:data waitUntilDone:YES]; 

}]; 
相關問題