2010-12-14 55 views
1

Je tente de sauver mon plist après un simple changement de détail.Utilisation de DetailView comment puis-je obtenir la valeur de ligne sélectionnée sur le fichier DetailViewController.m?

Voici la ligne dont j'ai besoin.

[plist replaceObjectAtIndex:0 withObject:nameDictionary]; 

Je dois remplacer le 0 par une variable qui obtient la ligne sélectionnée. Rappelez-vous, j'utilise la base de code du tutoriel ci-dessus. Quelque chose comme indexPath.row serait génial, mais je n'arrive pas à le faire fonctionner.

Mon tableau n'est plus accessible dans la vue détaillée.

Répondre

1

Un moyen facile ... Créer un objet NSInterger dans DetailsView.lets dire mySelectedIndex

intérieur RootViewControlle didSelectRowAtIndexPath ..vous peut accéder mySelectedIndex

DetailViewController *dvController = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:[NSBundle mainBundle]]; 

dvController.mySelectedIndex = indexPath.row; 

[self.navigationController pushViewController:dvController animated:YES]; 

intérieur DetailsView

[plist replaceObjectAtIndex:mySelectedIndex withObject:nameDictionary]; 

Deuxième .. Singleton Variable pour stocker les données et y accéder n'importe où dans l'App.

Troisième .. utilisation NSUserDefaults ..

+0

Rappelez-vous simplement que vous auriez à passer un NSInteger sur le .h autrement avec une chaîne que vous auriez besoin de le faire: int iSelectedIndex = [mySelectedIndex intValue];
[plist replaceObjectAtIndex: iSelectedIndex withObject: nomDictionnaire]; –