2010-08-12 4 views
0

comment un bouton ajouter aux favoris travailler pour prendre le contrôleur sélectionné et l'ajouter à un élément de la barre d'onglets, j'ai essayé d'utiliser une ibaction pour ajouter une entrée à un tableau mais je n'étais pas sûr sur comment gérer ce problème.ajouter aux favoris bouton help

je voudrais ajouter un UIButton qui ajoute une entrée à ce type de format de tableau

rootArray = [[NSArray alloc] initWithObjects:@"entry1", @"entry2", nil]; 

la barre d'onglets aurait deux points de vue sur la vue table préférée et une avec tout le reste des cellules. Je voudrais cliquer sur la vue "normale" de la table qui me mènerait au contrôleur de détail déjà implémenté. Ensuite, je voudrais avoir un bouton sur le detailviewcontroller qui dirait quelque chose comme ajouter aux favoris et ajouter cette vue détaillée et sa cellule au contrôleur de l'onglet favoris. Je voudrais ajouter le uibutton pour ajouter le contrôleur detailview dans le format mentionné ci-dessus mais je ne suis pas sûr de savoir comment faire cela.

Je vous serais reconnaissant de l'aide pour me pointer dans la bonne direction grâce

+0

Que doit exactement faire ce tableau? Également essayez-vous d'ajouter un contrôleur à la barre d'onglets à la volée? Qu'est-ce qui est ajouté pour favoriser le contrôleur ou les données dans le contrôleur? – domino

+0

J'ai mis à jour mon message pour refléter certains changements Merci – Alex

+0

Sauvegardez-vous vos données dans une base de données ou tout est-il sauvegardé dans un tableau? – domino

Répondre

0

Am en supposant u ont une base de données quelque part où vous obtenez des données pour votre tableview « normale ». Ce que vous devez faire, c'est que vous pouvez ajouter une table de favoris ou simplement ajouter un champ "is_favorite" à votre table. J'irais avec la dernière option.

Avec ceci en place il vous suffit de filtrer vos résultats. Enregistrements avec "is_favorite" comme vrai ajouté à la vue de la table des favoris pendant que tout (favori et non-favori) apparaît dans l'autre vue de la table. Pour plus de détails, vous pouvez ajouter un UIBarButton aux favoris. L'iphone sdk a déjà un bouton système pour ça. Ajouter à la suite vous la viewDidLoad:

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:self action:@selector(addToFavorites:)]; 

puis ajouter une méthode appelée addToFavorites à votre classe detailviewcontroller. Cela répondra au IBAction. À l'intérieur addToFavorites ajouter un code qui définira le champ is_favorite à true. Je crois que tout cela couvre comment vous pourriez accomplir votre tâche.

Modifier: L'explication ci-dessus était basée sur l'hypothèse que vous utilisiez une base de données.

Mise à jour Puisque vous stockez tout dans un tableau, voici ce que vous pourriez faire. Définissez le tableau de favoris (mutable) dans votre fichier YourAppDelegate.h comme vous le feriez pour n'importe quelle propriété normale.

NSMutableArray *favorites; 

Ensuite, à l'intérieur du addToFavorites faire quelque chose comme:

YourAppDelegate *app = (YourAppDelegate *)[[UIApplication sharedApplication] delegate]; 
[app.favorites addObject:current_detail]; //add whatever detail you selected 

favorites est le tableau que vous utiliserez comme source de données pour votre point de vue de la table de favoris.

J'espère que tout cela a du sens maintenant.

+0

merci cela a fait la lumière sur la façon dont cela peut être réalisé mais en outre j'ai quelques questions de plus.toutes mes données sont stockées dans un tableau BTW. Qu'est-ce que le champ is_favorite? Je ne sais pas comment implémenter cette balise? je devine. pourriez-vous s'il vous plaît me donner un peu de code pour cette partie pour me faire commencer merci. et pour les addToFavorites je ne sais pas quoi utiliser pour définir le champ is_Favorite sur true en partie parce que je ne sais pas ce que is_favorite est. merci pour votre patience :) – Alex

+0

merci cela fait cependant une petite question laissée sans réponse quel est le courant + détail censé être ?? – Alex

+0

Le détail actuel est censé être l'objet contenant les détails de la vue actuellement affichée – domino