2010-07-16 7 views
0

Je vous écris l'application iPhone et je voudrais poser des questions sur les paramètres de passage dans l'objectif C.Comment passer les paramètres de .m à un autre .m dans l'objectif C

Je crée 2 contrôleur de vue. Dans le premier, j'ai un bouton, quand un utilisateur appuie sur le bouton, il appelle le - (IBAction) pressButton (défini par l'utilisateur), et après 5-6 secondes (doit traiter et récupérer les données dans le NSMutableArray *), il affichera une table. Cependant, je ne sais pas comment passer le NSMutableArray à la classe de la table. Puis-je faire ceci?

// situation 
// --------------------------------------------- 
// In MyViewController.m 

// class variable 
NSMutableArray * arr; 
- (IBAction) pressButton: (id)sender {...} 
// I retrieve the data and store in the arr 

// In TableView.m 
// I want to pass the arr to here and use 

Je sais comment créer la table de ce website, mais je ne sais pas comment passer les paramètres d'une classe (MyViewController.m) à une autre classe (TableView.m). Quelqu'un pourrait-il m'aider? Merci beaucoup.

Répondre

0

Dans votre TableView ViewController créer NSMutableArray comme celui-ci

IBOutlet NSMutableArray *PassedArray; 
@property(nonatomic,retain) NSMutableArray *PassedArray; 
@synthesize PassedArray; 
[PassedArray release]; 

Maintenant, vous pouvez passer la valeur de votre NSMutableArray MyViewController à tableviewcontroller en utilisant ce

tableviewcontroller *objInstance = [[tableviewcontroller alloc]initWithNibName:@"tableviewcontroller" bundle:nil]; 
objInstance.PassedArray = NSMutableArray;//Here you declare your passed NSMutableArray 
[self.navigationController pushViewController:objInstance animated:YES]; 
[objInstance release]; 

Une autre méthode est Déclarez NSMutableArray * yourArray est mondiale dans MyViewController.h et extern ces variables dans tableviewcontroller.m comme ceci

extern NSMutableArray *yourArray; 
1
  1. En TableView.h, déclarer une méthode:

    - (void)doWhateverWithArray: (NSArray *)anArray; 
    
  2. En TableView.m, mettre en œuvre la méthode pour faire tout ce que vous avez besoin de faire.

  3. En MyViewController.m, près du sommet du fichier (en dehors de @implementation ... @end) écrire #import "TableView.h"

  4. Envoyer -doWhateverWithArray: à votre point de vue de la table si nécessaire.

Les appels de fonction sont une partie fondamentale des langages de programmation procéduraux comme C; Les expéditions de messages (appels de méthode AKA) sont une partie fondamentale des langages de programmation orientés objet comme Objective-C. La nature de cette question suggère que vous commencez tout juste à entrer dans la programmation (si je me trompe, ne prenez pas cela comme une insulte, ce n'est pas le cas.) Je suis sûr que les gens peuvent recommander n'importe quel nombre des textes d'introduction à C ou Objective-C, mais j'irais plus loin si j'étais à votre place. Si vous en avez la disponibilité, je vous recommande de suivre des cours de programmation de niveau collégial, ou même de vous inscrire à un diplôme en informatique au niveau universitaire si vous avez le temps et le dévouement. :)

+1

(Je vous suggérerais aussi de vous renseigner complètement sur C avant de commencer avec Objective-C.) –

+0

Vous apprenez pleinement? La connaissance de C asymptotiquement approches 1.;) –

+0

D'accord avec @ chpwn. La question fait allusion à un manque de compréhension des principes fondamentaux de la programmation orientée objet. –

Questions connexes