2010-05-09 4 views
0

Je souhaitais utiliser une plist pour remplir ma table groupée. J'ai jeté un oeil à l'exemple de projet DrillDownSave, et je n'en suis toujours pas un. Bien que, j'ai appris que je pourrais stocker des hiérarchies et semblables dans là.Utilisation de plist pour remplir une table groupée

Alors, voici la question:

  1. Comment puis-je utiliser mon plist pour ajouter de nouveaux éléments à ma table groupée? Je suis en train de nourrir la table avec un tableau, et j'ai remarqué qu'un tableau ne va pas être la meilleure chose pour moi.

  2. Lorsqu'un utilisateur appuie sur un élément dans le plist, comment puis-je pousser la vue sur l'élément correspondant? En d'autres termes, comment puis-je pousser la vue basée sur la ligne sélectionnée (qui a été générée par le plist) à sa prochaine "vue"?

Si cela a un sens, veuillez répondre. Merci, Jack.

Répondre

0

Pour charger une représentation plist d'un tableau dans une NSArray instance réelle, utilisez:

NSString *plistPath; // Assume that this is valid 

NSArray *plistArray = [NSArray arrayWithContentsOfFile:plistPath]; 

Pour « Exploration », vous devez faire ce qui suit dans la méthode de -tableView:didSelectRowAtIndexPath:indexPathUITableViewDelegate:

  • Créer une nouvelle instance View Controller
  • Dites le nouveau VC les données ou l'objet que vous êtes « forage vers le bas » (en général en définissant une propriété)
  • Poussez le VC sur votre contrôleur de navigation

En supposant que l'objet que vous perçage vers le bas sur une Widget, et votre tableau de widgets est stocké dans un Ivar nommé widgets, vous devez ajouter une propriété à votre widget détail View Controller, puis faire quelque chose comme ceci:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    [tableView deselectRowAtIndexPath:indexPath animated:YES]; 
    MyDetailViewController *detailViewController = [[MyDetailViewController alloc] init]; 
    detailViewController.widget = [widgets objectAtIndex:indexPath.row]; 
    [[self navigationController] pushViewController:detailViewController animated:YES]; 
    [detailViewController release]; 
} 

(cela va dans votre Tableau délégué)

Pour plus d'informations, voir this part of the documentation.

+0

Merci pour la réponse. Comment ajouter une nouvelle propriété à mon contrôleur de vue? Je suis un peu désemparé quand il s'agit de l'objectif-c et de l'iPhone SDK. À votre santé. –

+0

Si vous n'êtes pas sûr de savoir comment ajouter une propriété dans Obj-C, je vous recommande d'acheter un livre sur le développement de l'iPhone, comme [celui des programmeurs pragmatiques] (http://pragprog.com/titles/ amiphd/iphone-sdk-development), et essayez de travailler dessus. Vous aurez probablement toute une série de questions entre aller d'où vous êtes maintenant à ce que vous essayez de réaliser, et un livre comme celui-ci répondra à 90% d'entre eux par des exemples. –

Questions connexes