2010-09-02 3 views
0

Je fais quelque chose de mal ici mais je n'arrive pas à comprendre ce que c'est.Le délégué de classe n'implémente pas le protocole

AppDelegate.h

#import <UIKit/UIKit.h> 


@interface AppDelegate : NSObject <UIApplicationDelegate, UIScrollViewDelegate> { 
    UIWindow *window; 
    UIScrollView *scrollView; 
    UIPageControl *pageControl; 
    NSMutableArray *viewControllers; 
    UIView *flipside; 

    // To be used when scrolls originate from the UIPageControl 
    BOOL pageControlUsed; 
} 

@property (nonatomic, retain) IBOutlet UIWindow *window; 
@property (nonatomic, retain) IBOutlet UIScrollView *scrollView; 
@property (nonatomic, retain) IBOutlet UIPageControl *pageControl; 
@property (nonatomic, retain) IBOutlet UIView *flipside; 
@property (nonatomic, retain) NSMutableArray *viewControllers; 

- (IBAction)showInfo:(id)sender; 
- (IBAction)changePage:(id)sender; 

@end 

AppDelegate.m

- (IBAction)showInfo:(id)sender {  

    FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil]; 
    controller.delegate = self; 

    controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
    [self presentModalViewController:controller animated:YES]; 

    [controller release]; 
} 

C'est là I`m obtenir: avertissement: class 'AppDelegate' ne met pas en œuvre la « FlipsideViewControllerDelegate 'protocole.

Après ligne: controller.delegate = self;

Mon FlipsideViewController.h ressemble à ceci:

#import <UIKit/UIKit.h> 

@protocol FlipsideViewControllerDelegate; 


@interface FlipsideViewController : UIViewController { 
    id <FlipsideViewControllerDelegate> delegate; 
} 

@property (nonatomic, assign) id <FlipsideViewControllerDelegate> delegate; 
- (IBAction)done:(id)sender; 
@end 


@protocol FlipsideViewControllerDelegate 
- (void)flipsideViewControllerDidFinish:(FlipsideViewController *)controller; 
@en 

Toute aide serait grandement appréciée :)

Répondre

4

Il est exactement ce que le message d'erreur dit. AppDelegate ne met tout simplement pas en œuvre le protocole. Dans votre fichier d'en-tête, ajoutez FlipsideViewControllerDelegate entre les parenthèses (c'est-à-dire <UIApplicationDelegate, UIScrollViewDelegate, FlipsideViewControllerDelegate>) et implémentez la méthode -flipsideViewControllerDidFinish:.

+0

Hey Merci, qui a été, maintenant je m 'obtenir un autre avertissement, mais il pourrait être sans rapport avec: avertissement: « AppDelegate » ne peut pas répondre à ' -presentModalViewController: animé: ' –

0

essayer d'ajouter FlipsideViewControllerDelegate au appDelegate

@interface AppDelegate : NSObject <UIApplicationDelegate, UIScrollViewDelegate,FlipsideViewControllerDelegate> { 
    UIWindow *window; 
    UIScrollView *scrollView; 
    UIPageControl *pageControl; 
    NSMutableArray *viewControllers; 
    UIView *flipside; 

    // To be used when scrolls originate from the UIPageControl 
    BOOL pageControlUsed; 
} 
Questions connexes