2009-07-28 7 views
1

Comment puis-je lier les taux de change en temps réel à mon application iPhone? Tout d'abord, quelqu'un sait tous les sites où je peux obtenir les taux de change? Et deuxièmement, comment puis-je lier cela à mon application? Je veux faire ce que cette application fait. http://the-dream.co.uk/currencee/Où puis-je trouver des mises à jour, des taux de change en direct?

+0

pour la devise qui vous intéresse, regardez le site de son imprimerie pour le taux. – none

Répondre

1

Voici un blog post à ce sujet, mais pour récapituler, si vous utilisez TBXML vous pouvez le faire avec les méthodes ci-dessous.

Ils font ce qui suit:

  1. Supposons que vous avez fait un objet de dictionnaire mutable comme une propriété de classe appelée exchangeRates
  2. Set EUR que le taux de base de (valeur de 1,0)
  3. Appelez le XML flux de la Banque centrale européenne taux de change et l'analyse.
  4. Une fois que vous avez appelé la méthode loadExchangeRates(), vous pouvez obtenir un taux de change spécifique en faisant:

    NSDecimalNumber *rate = [NSDecimalNumber decimalNumberWithString:[self.exchangeRates objectForKey:@"USD"]]; 
    

Voici les méthodes:

- (void)loadExchangeRates { 

// initialize rate array 
exchangeRates = [[NSMutableDictionary alloc] init]; 

// Load and parse the rates.xml file 
TBXML * tbxml = [[TBXML tbxmlWithURL:[NSURL URLWithString:@"http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml"]] retain]; 

// If TBXML found a root node, process element and iterate all children 
if (tbxml.rootXMLElement) 
    [self traverseElement:tbxml.rootXMLElement]; 

// add EUR to rate table 
[exchangeRates setObject:@"1.0" forKey:@"EUR"]; 

// release resources 
[tbxml release]; } 


- (void) traverseElement:(TBXMLElement *)element { 

    do { 
     // Display the name of the element 
     //NSLog(@"%@",[TBXML elementName:element]); 

     // Obtain first attribute from element 
     TBXMLAttribute * attribute = element->firstAttribute; 

     // if attribute is valid 
     NSString *currencyName; 
     while (attribute) { 
      /* Display name and value of attribute to the log window 
      NSLog(@"%@->%@ = %@", 
        [TBXML elementName:element], 
        [TBXML attributeName:attribute], 
        [TBXML attributeValue:attribute]); 
      */ 
      // store currency 
      if ([[TBXML attributeName:attribute] isEqualToString: @"currency"]) { 
       currencyName = [TBXML attributeValue:attribute]; 
      }else if ([[TBXML attributeName:attribute] isEqualToString: @"rate"]) { 
       // store currency and rate in dictionary 
       [exchangeRates setObject:[TBXML attributeValue:attribute] forKey:currencyName]; 
      } 
      // Obtain the next attribute 
      attribute = attribute->next; 
     } 

     // if the element has child elements, process them 
     if (element->firstChild) 
      [self traverseElement:element->firstChild]; 

     // Obtain next sibling element 
    } while ((element = element->nextSibling)); 
} 
+0

Merci, cela a beaucoup aidé! – Anonymous

+0

Voir également ici aussi OpenExchangeRates.org: [openexchangerates.org] (http://openexchangerates.org/) – Leafy

0

Mon premier port d'appel serait de trouver un service Web qui fournit des taux de change avec une API publique. Ensuite, vous devrez intégrer certaines fonctionnalités dans votre application qui communique avec l'API afin d'obtenir les informations dont vous avez besoin.

Il peut y avoir des services qui offrent les taux de change dans un flux RSS ou un flux similaire. Vous pouvez ensuite analyser le fichier XML téléchargé à partir de ce flux dans certains objets que vous pouvez utiliser dans votre application.

+0

D'accord, j'en ai trouvé un avec RSS. Dis ça dit: La devise pour aujourd'hui est bla bla. Comment puis-je obtenir la monnaie pas la "La monnaie pour aujourd'hui"? – Anonymous

1

Je réalise cette question a déjà été répondu, mais pour tous ceux qui cherchent une solution à ce même problème, il existe aussi une excellente solution JSON disponible au .

Questions connexes