在创建协议时访问UIPageViewController的委托方法

时间:2013-04-30 14:00:37

标签: iphone ios objective-c

我正在使用UIPageViewController,我已经制作了自己的协议:

@protocol MyDataDelegate <NSObject, UIPageViewControllerDelegate>

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

@end

如何将UIPageViewController的委托设置为self,以便我可以使用这些委托方法?这个的正常代码是self.delegate = self;但是因为我已经创建了另一个委托,它给了我一个警告"Assigning to 'id<MyDataDelegate>' from incompatible type 'PageScrollViewController *const_strong'"我想把它设置为self我所以我可以访问UIPageViewController的委托方法

2 个答案:

答案 0 :(得分:1)

你的子类掩盖了UIPageViewController的委托属性。为您的委托属性提供其他名称,例如:@property(nonatomic,weak)id myDelegate;

答案 1 :(得分:0)

您是否声明自己的PageScrollViewController课程符合MyDataDelegate?您可以在主@interface声明中执行此操作:

@interface PageScrollViewController : UIPageViewController <MyDataDelegate>
   // ...
@end

或.m档案中的班级类别:

@interface PageScrollViewController () <MyDataDelegate>
    // ...
@end