Développement sur iPhone

a pardon comme le thread est remmonte je croyais que la question etait fraiche
as tu contacte Wilfredo?

C'est en cours. Merci une fois de plus pour ton aide. Mais comme je suis "sous-traitant" sur ce coup pour une boite Americaine, j'ai refilé le bébé au pote commanditaire (Mike) qui est Anglophone.

Cordialement
 
Bonjour,

Je cherche comment lire un fichier xml et afficher son contenu sur une page de mon appli,

J'ai regardé sur le net et j'ai trouvé pas mal de bons tutoriels mais aucun que je puisse adapté à mon application,

Dans tous les tutoriels, je dois mettre

@interface Vue2 : UITableViewController {

or pour que la navigation entre les differentes vues de mon appli fonctionne je dois garder

@interface Vue2 : UIView {


J'arrive bien sur la page principale de mon appli à lire le contenu du xml (en effet, je vois bien les tags dans la console) mais je n'arrive pas afficher son contenu dans une autre view,

Quelqu'un peut-il m'aider ?

Merci
 
Plus de details

Vue2.h

#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>

@interface Vue2 : UIView {
IBOutlet Vue0 *vue2Vue0;
IBOutlet UITableView *tablePortefeuilles;
NSMutableArray *tableau;
}

@property (nonatomic, retain) IBOutlet UITableView *tablePortefeuilles;

- (IBAction) Aller2vers1;
- (IBAction) Aller2vers3;

@end



J'ai défini un Table View dans lequel j'afficherais le contenu du xml


Vue2.m

#import "Vue0.h"
#import "Vue2.h"
#import "XMLToObjectParser.h"
#import "Contact.h"

@implementation Vue2
@synthesize tablePortefeuilles;

NSMutableData *responseData;

- (IBAction) Aller2vers1 {
[vue2Vue0 aller2vers1];
}

- (IBAction) Aller2vers3 {
[vue2Vue0 aller2vers3];
}


- (NSInteger)numberOfSectionsInTableView:tablePortefeuilles {
return 1;
}

// Customize the number of rows in the table view.
- (NSInteger)tableView:tablePortefeuilles numberOfRowsInSection:(NSInteger)section {
return [tableau count];
}

// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:tablePortefeuilles cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tablePortefeuilles dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
NSString *ligneTableau = [NSString stringWithFormat:mad:"%@ %@", [[tableau objectAtIndex:indexPath.row] libelle],[[tableau objectAtIndex:indexPath.row] valorisation]];
cell.text=ligneTableau; // Configure the cell.
return cell;
}



@end



J'ai 2 méthodes (Aller2vers1 et Aller2vers3) qui me permettent d'aller de la vue2 à la vue1 et de la vue2 à la vue3.


Dans ma page principale j'ai un bouton Connexion qui identifie l'utilisateur au niveau du serveur. A ce moment là, le serveur renvoye le xml. Je vois bien les tags dans la console.

Sur le bouton connexion, j'ai le code suivant :

NSURL *new_url = [NSURL URLWithString: @"http://url/generateXML.phtml"];
XMLToObjectParser *myParser = [[XMLToObjectParser alloc]
parseXMLAtURL:new_url toObject:mad:"Contact" parseError:nil];

for(int i = 0; i < [[myParser items] count]; i++) {
NSLog(@"libelle: %@", [(Contact *)[[myParser items] objectAtIndex:i] libelle]);
}


Comment faire pour afficher le xml reçu à vue1 lorsque l'utilisateur se connecte dans la UITableView de la vue2 ?

Merci par avance.

Merci
 
Essaye de créer un autre ViewController qui hérite de UITableViewController. Tu le mets ensuite en attribut de ta Vue2. (Bien entendu tu fais le nib qui va avec, les instanciations et appels, ...).
 
J'ai une question peut etre bete.

J'i bien fait comme tu m'as dit; j'ai créé un autre ViewController qui hérite de UITableViewController. Je lui fait parser mon xml et remplir un array,

Mais je n'arrive pas à le mettre en attribut à ma vue2 dans IB. Lorsque je ait un clic droit voir un pomme 2, il ne me propose pas le viewcontroller que je viens de faire.

Il n'est pas dans le main window . xib

Que dois-je faire ?

Merci
 
Dans IB, tu dois mettre le nom de ta classe de ViewController à la place de UITableViewController ou UIViewController (je ne sais pas ce qu'il y a).

Ça se fait dans l'onglet Identity une fois que tu as sélectionné le File's Owner.
Mais fait attention à bien le lier aussi dans le nib de ta root view.