2014-11-18 1 views
0

NSUserActivity를 사용하여 HandOff를 구현했습니다. 처음에는 직접 ViewController 클래스에 다음 메서드를 구현했으며 모두 예상대로 작동합니다. 내가 활동 유형의 수를 구현할 계획입니다으로UIResponder Assistance - 호출되지 않은 메서드

-(void)updateUserActivityState:(NSUserActivity *)userActivity 
-(void)restoreUserActivityState:(NSUserActivity *)activity 
-(void)userActivityWasContinued:(NSUserActivity *)userActivity 

내가 유용 대신 유사한 코드를 복제 이러한 방법을 구현하는 것이 별도의 클래스를 만드는 것이라고 생각이 HandOffClass를 호출 할 수 있습니다. 이 클래스는 성공적으로 NSUserActivity를 만들고 특정 ViewController의 UserActivity 속성에 할당합니다. 이것은 거의 작동하지만 위의 두 메소드 중 하나가 UIResponder에 의해 구현되고 HandControl에 직접 구현 된 경우 HandOffClass에 포함될 때 호출되지 않고 모든 것이 예상대로 작동합니다.

-(void)updateUserActivityState:(NSUserActivity *)userActivity 
-(void)restoreUserActivityState:(NSUserActivity *)activity 

그래서 내 문제가

@interface HandOffClass : UIResponder <NSUserActivityDelegate> 

올바른 내 접근 방식의 경우, 또는이 접근의 더 나은 방법이/구현 서브 클래스 UIResponder 방법을 어떻게 이해 나의 부족, 난 내 HandOffClass 같은데요 반응 체인에 포함되어 있지 않습니까?

도움이나 도움을 주셔서 감사합니다.

답변

0

해당 객체를 응답 체인에 삽입하여 올바른 방향으로 이동할 수 있습니다. 이 같은

시도 뭔가 :

id nextResponder = [self nextResponder]; 
[self setNextResponder: _myCoolHandOffClass]; 
[_myCoolHandOffClass setNextResponder: nextResponder]; 

그것을 제거하는 것을 잊지 마십시오!

또는 이러한 "HandOffClasses"를 사용하여 로직을 포함하고 ViewController 클래스에서 호출하면됩니다. 이 방법을 사용하면 약간의 보일러 플레이트 (응답 체인에서 추가 및 제거)가 가능하며, 아무 것도하지 않아도 ViewController가 이벤트를 처리 할 수 ​​있다는 단점이 있습니다.