0

NSURLConnection目标 c:我有一个使用and连接到数据库的 serviceClass sendAsynchronousRequest

我希望能够使用这个类方法并将 db-data 返回给任何其他请求它的类方法。

但是由于sendAsynchronousRequest返回 void - 我该怎么做?

我根本无法理解它。块?但是怎么...

请帮忙

atm 我正在下面的代码块中直接创建一个用户对象:

[NSURLConnection
 sendAsynchronousRequest:urlRequest
 queue:[[NSOperationQueue alloc] init]
 completionHandler:^(NSURLResponse *urlResponse,
                     NSData *data,
                     NSError *error) {

     if ([data length] > 0 && error == NULL){ // do success or error call with true or    false
         NSMutableData *incomingData;
         if(!incomingData) {
             incomingData = [[NSMutableData alloc]init];
         }
         [incomingData appendData:data];
         NSString *string = [[NSString alloc]initWithData:incomingData
                                                 encoding:NSUTF8StringEncoding];
         //incomingData = nil;

         // create dictionary from json
         NSData *jsondata = [NSData dataWithData:incomingData];
         NSMutableDictionary *userDictionary = [NSJSONSerialization JSONObjectWithData:jsondata 
                                                                                  options:NSJSONReadingMutableContainers 
                                                                                    error:NULL];
         // create user object
         User *user = [User userFromDictionary:userDictionary];
         NSLog(@"user back to object successfull!! %@", user);

     }



     }
4

1 回答 1

0

您可以使用incomingData 的属性,然后使用该属性将数据传递给其他方法/类。

@property (nonatomic, retain) NSMutableData * incomingData;

现在您可以使用self.incomingData设置值,并且您需要返回。您可以在其他方法中使用它,当您需要将其传递给其他类时,您可以传递它。

于 2012-05-14T14:17:50.993 回答