2013-04-29 2 views
0

대리자를 설정하고,이 대답 다음입니다 때 : 그러나 How to Pass information Back in iOS when reversing a Segue?경고 나는 SEGUE로 다시 데이터를 전달하기 위해 노력하고있어

내가이 줄을 추가하려고 :

@property (nonatomic) id<MyDataDelegate> delegate; 

내가 수를 다음과 같은 경고 :

enter image description here

그리고이 같은 첫 번째보기 컨트롤러에 넣어하려고하면

@interface ContainerViewController : UIViewController <MyDataDelegate> 

나는 오류 "Cannot find protocol declaration for 'MyDataDelegate'"를 얻고 난 당신이 UIPageViewController의 서브 클래스에 속성을 추가하는 것처럼 보이는 오류 메시지에서 다른 헤더 파일 ...

+0

@property (weak, nonatomic) id delegate; – Sovannarith

답변

4

을 포함했다. 그러나 UIPageViewController에는 이미 다른 유형의 delegate 속성이 있습니다.

당신은 그러므로 UIPageViewControllerDelegate에 맞도록 뭔가 다른 재산 이름을 바꾸거나 MyDataDelegate를 선언하거나 필요하므로 속성 재 선언은 기본 클래스 버전과 호환되는지 :

@protocol MyDataDelegate <UIPageViewControllerDelegate> 

... 

@end 

당신은 또한 당신의 재산을 선언해야 weak 특성을 사용하십시오.

+0

이것은 실제로 경고를 수정하지만 @interface ContainerViewController : UIViewController 를 추가하면 질문과 마찬가지로 오류가 발생합니다. – nonuma

+0

프로토콜을 선언 한 코드를 표시 할 수 있습니까? – vacawama

+1

@nonuma 대리자 헤더 파일에도 컨트롤러 헤더가 포함되어 있으면 주기적으로 종속됩니다. 프로토콜에 컨트롤러의 헤더가 없다는 것을 확인하십시오 ('@class ...'선언이 필요합니다). – Sulthan

관련 문제