在不同类中使用两个异步ASIHTTP请求时出错

时间:2011-10-01 07:59:32

标签: ios ios4

假设我有两个班级A& B.类A在类B中调用asynchronus方法Foo.Foo方法使用异步ASIHTTPRequest获取数据,并将来自Foo的数据作为返回值发送回类A.类A将使用返回的数据并执行操作

我在另一个类中创建了我的类URLParser的对象并调用了函数getJsonUrl,它将解析并获取json url。我在这里使用另一个ASIHTTPRequest返回的URL。但是我得到了EXC_BAD_ACCESS ......帮助我搞清楚......

......
URLParser *urlParser = [[URLParser alloc] init];

NSString *JsonString = [urlParser getJsonUrl:@"http://mywebs.com/?q=iphone/news"];
NSLog(@" url returned = %@" ,JsonString);
NSURL *JsonUrl = [NSURL URLWithString:JsonString];

newsRequest = [ASIHTTPRequest requestWithURL:JsonUrl];
[newsRequest setDelegate:self];
[newsRequest startAsynchronous];

}


- (void)requestFinished:(ASIHTTPRequest *)request
{
    newsDictionary = [[NSMutableDictionary alloc] init];
    NSData *responseData = [request responseData];

    NSString *response = [[NSString alloc] initWithData:responseData encoding:NSASCIIStringEncoding] ;
    self.newsDictionary = [response JSONValue];
    [response release];
    [self getDataNews:self.newsDictionary];    
}

URL Parser Class

@synthesize albumDic;
@synthesize GlobalRequest;

-(NSString*)getJsonUrl:(NSString *)url{

 GlobalRequest = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:url]];
 [GlobalRequest setDelegate:self];
 [GlobalRequest startAsynchronous]; // when i called the  [GlobalRequest startSynchronous] ....both cases m getting the same error

 return JsonStr;
}



- (void)requestFinished:(ASIHTTPRequest *)request{

 albumDic = [[NSMutableDictionary alloc] init];
 NSData *responseData = [request responseData];
 NSString *response = [[NSString alloc] initWithData:responseData encoding:NSASCIIStringEncoding] ;
 self.albumDic = [response JSONValue];
 [response release];
 [self GetDictionary:self.albumDic];

}
- (void)requestFailed:(ASIHTTPRequest *)request{
 [request cancel];

}

0 个答案:

没有答案