나는 여전히 Objective-C를 처음 접했지만 자신의 앱을 성공적으로 만들었으며 Chartboost의 비디오 광고 구현에 약간의 문제가 있습니다.Objective-C에서 선택적 프로토콜 방법은 어떻게 사용합니까?
나는 비디오를 보는 대가로 사용자에게 자유로운 삶을 제공하는 팝업을 만드는 보상 비디오를 구현 중입니다. 나는 정상적으로 작동하는 팝업을 얻을 수있다. 그러나 사용자가 비디오를보기로 결정했는지 여부는 알 수 없습니다.
은 내가 Chartboost.h 파일이 @optional 아래에 나열된에 대한 적절한 방법을 가지고 알고,하지만 난 방법
- (void)didClickRewardedVideo:(CBLocation)location;
또한주의하는 것이, 내 Level1.m 파일이 사용하는 단서가 없다 Chartboost.m은 그들이 준 프레임 워크에 포함되어 있지 않습니다.
도움 주셔서 감사합니다.
[질문] (http://stackoverflow.com/q/9018764/429427) 및 [답변] (http://stackoverflow.com/a/9018829/429427)을 참조하십시오. 'Chartboost'는 단지 프로토콜 일뿐입니다. (Chartboost.h에'@ interface '가 없다고 추측합니까?) 이것은'.m '파일이 존재하지 않는 이유입니다. - 프로토콜은 구현체가 아니라 단지 인터페이스라고 선언되었습니다. . 어떤 경우에는 객체가 해당 메소드를 구현하는지 확인한 후이 프로토콜을 따르는 객체에서'didClickRewardedVideo :'를 호출해야합니다. – Stuart
자, 알겠습니다. 이것은 단지 선언 된 인터페이스입니다. 하지만 당신이 의미하는 바를 잘 이해하지 못합니다. "didClickRewardedVideo를 호출해야합니다 : 객체가 해당 메소드를 구현하는지 확인한 후이 프로토콜을 따르는 객체에서." 나는 그 질문을 읽고 너와 연결된 대답을하지만, 나는 아직도 이해하지 못한다. 이것을 달성하고 싶습니다. if (didClickRewardedVideo) {then do}. 미안해 - 난 아직도 새로운거야! –
아, 미안하지만, 내가 잘못 생각한 것 같아. 나는 당신이 그 프로토콜을 따르는 당신 자신의 어떤 클래스에서 그 메소드를 구현하기를 원한다고 생각한다. 그리고 라이브러리는 적절한 시간에 그것을 호출 할 것이다. 아래 내 대답을 참조하십시오. – Stuart