-2

我想这样做,但 'performSelectorOnMainThread:recievedDataSelector' 会引发无法识别的选择器异常。

-(void)updateStatus
{   
    [self makeRequest:@"http://someplace.com/blah.php"
       onRecievedData:@selector(updateStatusRecievedData)];
}


-(void)makeRequest:(NSString *)url onRecievedData:(SEL) recievedDataSelector
{
    NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];
    [NSURLConnection sendAsynchronousRequest:urlRequest queue:_operationQueue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
     {
             [self performSelectorOnMainThread:recievedDataSelector
                                    withObject:data
                                 waitUntilDone:YES];
     }
}

(void)updateReceivedData:(NSData *) data
{
    NSLog(@"[updateReceivedData]");
}
4

1 回答 1

2

你想念' :'到updateStatusRecievedData方法

-(void)updateStatus
{   
    [self makeRequest:@"http://someplace.com/blah.php"
       onRecievedData:@selector(updateStatusRecievedData:)];
}
于 2013-03-28T07:11:47.070 回答