2010-01-28 5 views
0

Je sais que c'est une chose assez bien posté à faire, mais je ne peux toujours pas le résoudre.objectif-c (iphone sdk) méthode d'instance d'accès de classe séparée

J'ai une méthode d'instance saveAllDataJobs dans Jobs.m.

- (void) saveAllDataJobs { ... } 

Je suis DetailViewController.m et je veux courir la méthode saveAllDataJobs, qui est en Jobs.m. De quoi ai-je précisément besoin pour exécuter ce code?

Désolé pour la question répétée mais je n'arrive pas à le résoudre.

Cordialement

+0

Une instance de travaux de classe. Ensuite [jobs saveAllDataJobs]; – yehnan

+0

non, ce n'est pas vrai. C'est pour une méthode de classe (le +), pas la méthode d'instance (Le -). Je cherchais un peu plus d'une ligne. – oberbaum

Répondre

1

Lire à propos de "délégation" dans les documents. Voici les bases:

Lorsque vous créez DetailViewController, vous lui donnez un Ivar:

@interface DetailViewController { 
    id delegate; 
} 

@property (assign) delegate; 
@end 

@implementation DetailViewController 

@synthesize delegate; 

@end 

Puis:

DetailViewController *controller = [[DetailViewController alloc] initWithNibName...] 
controller.delegate = jobs; // "jobs" is of class Jobs, instantiated somewhere else 

Plus tard, quand vous avez besoin d'appeler une méthode sur l'emploi à l'intérieur detailViewController, vous faites

if ([self.delegate respondsToSelector:@selector(saveAllDataJobs)]) { 
    [self.delegate saveAllDataJobs]; 
} 

Il y a plus de détails autour de ceci, mais ceci est la patte de base rn.

+0

ça va prendre un peu de déchiffrement. merci pour votre aide jusqu'ici, maintenant je dois essayer et comprendre. – oberbaum

+0

L'idée de base est la suivante: quiconque crée l'objet "controller" lui donne aussi une référence à l'objet "jobs", donc "controller" sait comment appeler des méthodes sur "jobs". – Jaanus

0

Appelez la méthode avec [someJobsInstance saveAllDataJobs]?

Est-ce que ce n'est pas une réponse à votre question, alors vous devez expliquer plus ce que vous essayez d'accomplir. J'ai l'impression que c'est plus sur l'architecture de l'application que sur les méthodes d'appel.

+0

pouvez-vous expliquer le bit someJobsInstance. C'est ce qui me dérange. Sinon, je peux poster un code plus élaboré. – oberbaum

+0

Coller plus de code. –