문제

여러 통과 된 매개 변수로 지연된 후 다음 코드를 사용하여 선택기를 수행하고 있습니다.

http://nifty-box.com/blog/2006/12/nsinvocation-cleans-code.html

그것은 매우 잘 작동하지만 다음과 같은 것을 지원하기 위해 이것을 확장해야합니다.

nsObject prengpreviousPerformRequestswithTarget : self

(이 경우 대상은 자기는 아니지만 _uflateperformer의 인스턴스가 될 것입니다).

이를 수행 할 방법이 있습니까? 따라서 내 견해의 거래로 남은 모든 지연된 성능 요청을 죽일 수 있습니까?

도움이 되었습니까?

해결책

Mac에서는 OBJC_SETASSOCIATEBJECT를 사용할 수 있지만 iPhone에는 존재하지 않습니다.

따라서 기본적으로 당신은 당신이 nsobject에서 통과하는 당신을 위해 이러한 참조를 보유하고있는 일종의 관리자 싱글 톤이 필요합니다.

내가 비슷한 일을 할 때 나는 행동을 수행하기위한 요청을받은 싱글 톤 수업을 썼고, 조치가 완료 될 때 해고 된 타이머를 시작했습니다. 그 당시 내 관리자 클래스는 문제의 요청이 여전히 유효한지 결정했습니다. 그리고 그렇게한다면 행동을 해고했다. 따라서 타이머를 효과적으로 취소 할 수 있었고, 더 나아가서 관리자에게 실제로는 그렇지 않은 타이머를 재설정하라고 지시 할 수 있었지만, 새로운 타이머를 만들었지 만 오래된 타이머가 해고되었을 때 수행하도록 요청 된 작업이 유효하지 않았습니다.

따라서 기본적으로 타이머는 요청 ID만으로 싱글 톤을 다시 호출하여 통화 세부 정보가 포함 된 사전 항목으로 이어졌습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top