hey ankit vous pouvez obtenir ce code si à vous tous ses utile pas nécessaire d'établir connexion
il suffit d'utiliser cette méthode
-(id)initWithURL:(NSURL*)url arrayRootObjectTags:(NSArray*)arrTags sel:(SEL)seletor andHandler:(NSObject*)handler{
if(self = [super init]){
self.mainArray=arrTags;
self.MainHandler=handler;
self.targetSelector=seletor;
NSLog(@"%@",[url description]);
NSURLRequest *req=[NSURLRequest requestWithURL:url cachePolicy:NSURLCacheStorageNotAllowed timeoutInterval:30];
con=[[NSURLConnection alloc] initWithRequest:req delegate:self];
if(con){
myWebData=[[NSMutableData data] retain];
} else {
[MainHandler performSelector:@selector(targetSelector:) withObject:nil];
}
}
return self;
}
également l'autre méthode de soutien
-(void)parser:(NSXMLParser*)parser didStartElement:(NSString*)elementName namespaceURI:(NSString*)namespaceURI qualifiedName:(NSString*)qualifiedName attributes:(NSDictionary*)attributeDict {
if([elementName isEqualToString:@"html"] || [elementName isEqualToString:@"HTML"]){
didGetHTML=YES; [self parserDidEndDocument:parser];
} else if([[mainArray objectAtIndex:0] isEqualToString:elementName] && [[mainArray objectAtIndex:1] isEqualToString:elementName] && !didGetHTML) {
objectsArray=[[NSMutableArray alloc] init];
tmpD=[[NSMutableDictionary alloc] init];
if(tmpOther==nil) tmpOther=[[NSMutableDictionary alloc] init];
} else if([[mainArray objectAtIndex:0] isEqualToString:elementName] && !didGetHTML) {
objectsArray=[[NSMutableArray alloc] init];
if(tmpOther==nil) tmpOther=[[NSMutableDictionary alloc] init];
} else if([[mainArray objectAtIndex:1] isEqualToString:elementName] && !didGetHTML) {
tmpD=[[NSMutableDictionary alloc] init];
} else if([mainArray containsObject:elementName] && !didGetHTML){
[tmpD setValue:[attributeDict valueForKey:@"data"] forKey:elementName];
}
}
- (void) analyseur: (NSXMLParser *) analyseur foundCharacters: (NSString *) {string if (tmpString == nil & & didGetHTML!) { tmpString = [[NSString alloc] initWithString: chaîne]; } else if (! DidGetHTML) { NSString * t = [ChaîneNSString stringWithString: tmpString]; if ([tmpString retainCount]> 0) {[tmpString release]; tmpString = nil; } tmpString = [[NSString alloc] initWithFormat: @ "% @% @", t, chaîne de caractères]; } }
-(void)parser:(NSXMLParser*)parser didEndElement:(NSString*)elementName namespaceURI:(NSString*)namespaceURI qualifiedName:(NSString*)qualifiedName {
if([[mainArray objectAtIndex:0] isEqualToString:elementName] && [[mainArray objectAtIndex:1] isEqualToString:elementName] && !didGetHTML){
[objectsArray addObject:tmpD];
} else if([elementName isEqualToString:[mainArray objectAtIndex:1]] && !didGetHTML){
[objectsArray addObject:tmpD];
[tmpD release]; tmpD=nil;
} else if([mainArray containsObject:elementName] && !didGetHTML) {
if(![tmpD valueForKey:elementName]){
[tmpD setValue:tmpString forKey:elementName];
}
[tmpString release]; tmpString=nil;
} else {
[tmpOther setValue:tmpString forKey:elementName];
[tmpString release]; tmpString=nil;
}
}
et simplement appeler la méthode url initwith à partir de laquelle jamais classe que vous avez écrit cette méthode
que vous devez donner étiquette objet balise racine et balise d'élément d'une balise d'objet particulier et aussi donner sélecteur après que prendre la réponse dans le dictionnaire et ils le prennent en tableau et afficher le résultat en fonction de votre valeur pour la clé
** L'API Google météo a été fermée en 2012 ** -> http://stackoverflow.com/questions/12145820/google-météo-api-gone/35943521 –