目标c:我有一个serviceClass连接到具有NSURLConnection
和sendAsynchronousRequest
的数据库。
我希望能够使用此类方法并将db-data返回给请求它的任何其他类方法。
但由于sendAsynchronousRequest
无效 - 我该怎么做?
我无法解决所有问题。块?但是如何......
请帮忙
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);
}
}
答案 0 :(得分:0)
您可以对incomingData使用property,然后使用该属性将数据传递给其他方法/类。
@property (nonatomic, retain) NSMutableData * incomingData;
现在您可以使用self.incomingData
来设置值,然后您需要返回。您可以在其他方法中使用它,当您需要将它传递给其他类时,您可以传递它。