2010-09-02 3 views
0

Я делаю что-то неправильно здесь, но я не могу понять, что это такое.Класс Делегат не реализует протокол

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]; 
} 

Это где I`m получение: предупреждение: класс 'AppDelegate' не реализует «FlipsideViewControllerDelegate 'протокол.

После строки: controller.delegate = self;

Мои FlipsideViewController.h выглядит следующим образом:

#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 

Любая помощь будет принята с благодарностью :)

ответ

4

Это именно то, что говорит сообщение об ошибке. AppDelegate просто не реализует протокол. В своем файле заголовка добавьте FlipsideViewControllerDelegate между скобками (то есть <UIApplicationDelegate, UIScrollViewDelegate, FlipsideViewControllerDelegate>) и реализуйте метод -flipsideViewControllerDidFinish:.

+0

Эй Спасибо, что был он, теперь I'm получать другое предупреждение, но это может быть не связан: предупреждение: «AppDelegate» может не реагировать на ' -presentModalViewController: анимированные:» –

0

попробуйте добавить FlipsideViewControllerDelegate к 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; 
} 
Смежные вопросы