Я разрабатываю одно приложение для iphone из API Google Мест. Для этого я делаю разбор JSON для получения данных.
Для анализа JSON я создал один класс, в котором я пишу эти методы.
в JsonParse.m
файле записаны следующие методы:
- (void)initWithURLString:(NSString *)aURLString parameter:(UIViewController *)viewController
{
NSURL *url = [NSURL URLWithString:aURLString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
connection=[[NSURLConnection alloc] initWithRequest:request delegate:viewController];
}
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
[responseData setLength:0];
}
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[responseData appendData:data];
}
-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
label.text=[NSString stringWithFormat:@"error in the connection %@",[error description]];
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSString *responsestring=[[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSLog(@"response string is %@",responsestring);
NSError *error;
SBJSON *json=[[SBJSON new]autorelease];
NSMutableDictionary *response=[NSMutableDictionary dictionary];
response=[json objectWithString:responsestring error:&error];
NSLog(@"values in the dictionary is %@",[response valueForKey:@"results"]);
}
И я вызываю метод из класса viewcontroller
, как показано ниже:
JsonParse *obj=[[JsonParse alloc] init];
[obj initWithURLString:urlstr parameter:self];
Но когда я отлаживаю, вызывается только initwithurl
метод, другие методы делегата соединения не вызываются.
Ранее я писал методы в том же классе, что и в классе viewcontroller
, в то время каждый метод вызывался, и я мог разбивать данные.
Я написал этот метод в отдельном классе, потому что в одном и том же классе viewcontroller
я хочу анализировать данные несколько раз (более одного раза с разными URL).
Кто-нибудь знает, почему эти методы не вызываются или как я могу анализировать несколько раз в одном и том же классе? Любой учебник или пример кода для этого?