2013-04-30 1 views
3

Я пытаюсь передать данные с помощью протокола segue. Я следую за этот ответ: How to Pass information Back in iOS when reversing a Segue?Застревает при передаче данных назад с помощью segue

Так что я уже сделал:

PageScrollViewController.h

@protocol MyDataDelegate <NSObject, UIPageViewControllerDelegate> 

- (void)recieveData:(NSString *)theData; 

@end 

и я также добавил свойство:

@property (nonatomic,weak) id<MyDataDelegate> delegate; 

ContainerViewController .h

#import "PageScrollViewController.h" 

@interface ContainerViewController : UIViewController <MyDataDelegate> 

//... 

ContainerViewController.m

- (void)recieveData:(NSString *)theData { 

    //Do something with data here 
} 

и здесь я застрял:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 

    //Get a handle on the view controller about be presented 
    PageScrollViewController *secondViewController = segue.destinationViewController; 

    if ([PageScrollViewController isKindOfClass:[PageScrollViewController class]]) { 
     PageScrollViewController.delegate = self; 
    } 
} 

Линия PageScrollViewController.delegate = self; выдает ошибку: Свойство 'делегат' не найден на объект типа ' PageScrollViewController ', но я добавил его как свойство и синтезировал его ...

+0

Вы '# imported' PageScrollViewController? – Undo

+0

Да, в файле заголовка ContainerViewController – nonuma

+0

Ah. См. Ответ ... – Undo

ответ

5

Вы пытаетесь вызвать метод экземпляра ([PageScrollViewController setDelegate:]) на объект типа Class (в данном случае PageScrollViewController).

Попробуйте это:

Заменить

PageScrollViewController *secondViewController = segue.destinationViewController; 

    if ([PageScrollViewController isKindOfClass:[PageScrollViewController class]]) { 
    PageScrollViewController.delegate = self; 
    } 

С

PageScrollViewController *secondViewController = segue.destinationViewController; 

    if ([secondViewController isKindOfClass:[PageScrollViewController class]]) { 
    secondViewController.delegate = self; 
    } 
+0

Это работает, спасибо! – nonuma

+0

Без проблем, hth :) – sjwarner

Смежные вопросы