0

私は UIPageViewController を使用しており、次のような独自のプロトコルを作成しました。

@protocol MyDataDelegate <NSObject, UIPageViewControllerDelegate>

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

@end

これらのデリゲート メソッドを使用できるように、UIPageViewController のデリゲートを self に設定するにはどうすればよいですか? これの通常のコードは次のようになりますが、別のデリゲートを作成したため、UIPageViewController のデリゲート メソッドにアクセスできるように、これを自己に設定したいself.delegate = self;という警告が表示されます"Assigning to 'id<MyDataDelegate>' from incompatible type 'PageScrollViewController *const_strong'"

4

2 に答える 2

1

あなたのサブクラスは、UIPageViewController のデリゲート プロパティを覆い隠します。たとえば、デリゲート プロパティに別の名前を付けます。 @property (nonatomic,weak) id myDelegate;

于 2013-04-30T14:47:10.593 に答える
0

PageScrollViewControllerに準拠するクラスを宣言しましたMyDataDelegateか? @interfaceメイン宣言でこれを行うことができます:

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

または、.m ファイルのクラス カテゴリで次のようにします。

@interface PageScrollViewController () <MyDataDelegate>
    // ...
@end
于 2013-04-30T14:42:01.963 に答える