J'ai un contrôleur de vue "ResultsViewController" avec un bouton appelé emailbutton. lorsque ce bouton est pressé, je veux qu'une fonction soit appelée depuis une autre vue appelée "Illusions_AppViewController" (ces deux viewcontrollers ne sont pas liés).Le délégué n'est pas appelé
donc je défini un protocole dans le "ResultsViewController.h":
@protocol ResultsViewDelegate <NSObject>
@optional
- (void) resultspage;
@end
@interface ResultsViewController : UIViewController
{
id<ResultsViewDelegate> mydelegate;
UIButton *emailButton;
}
@property(nonatomic,retain) IBOutlet UIButton *emailButton;
@property (nonatomic,assign) id<ResultsViewDelegate> mydelegate;
@end
Dans le ResultsViewController.m:
-(IBAction)emailButtonPressed:(id)sender
{
NSLog(@"entered emailbuttonpressed");// the app enters this method and gets hanged
if ([mydelegate respondsToSelector:@selector(resultspage)]) {
NSLog(@"entered respondstoselector");// this is never displayed in the log-showing that the delegates doesnt respond to selector
[mydelegate resultspage];
}
}
Dans mon autre point de vue, "Illusions_AppViewController.m":
- (void)resultspage{
NSLog(@"Entered results page");
ResultsPageController *resultspagecontroller = [[ResultsPageController alloc] initWithNibName:@"ResultsPageController" bundle:nil];
resultspagecontroller.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:resultspagecontroller animated:YES];
}
Apprécierait si quelqu'un peut m'aider avec ceci. Je n'ai aucune idée de pourquoi le délégué n'est pas appelé. l'application est pendu dès que j'appuie sur le bouton email. Merci!
S'il vous plaît prendre le temps de formater votre code correctement à l'avenir. – JeremyP