조회 수 65896 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
performSelector:withObject:afterDelay:  

이 메소드는는 Selector에 해당하는 메소드를 일정시간 이후에 호출해줍니다. (Objective-C에서는 '함수 호출'을 '메시지를 보낸다'고 표현하더군요)

SEL sMethod = @selector(TestMethod);

if([self respondsToSelector:sMethod] == YES) 
[self performSelector:sMethod withObject:nil afterDelay:0.1];

respondsToSelector는 Selector가 구현되어 있는 녀셕인가를 체크해서 YES, NO로 리턴해주는 메소드입니다.

performSelector의 1번째 인자는 selector를 넘겨주고, 2번째 인자는 selector의 1번째 인자를 넘겨줍니다. (없는 경우 nil)
그 다음 afterDelay에 실수형으로 초 단위 값을 넘겨줍니다.  

이런식으로 메소드를 호출하는 경우 현재 스레드와 동일한 스레드 내에서 실행이 됩니다.

이렇게 일정시간 이후 실행되는 메소드의 호출을 취소하고 싶은 경우엔 cancelPreviousPerformRequestsWithTarget 메소드를 호출해줍니다.
[NSRunLoop cancelPreviousPerformRequestsWithTarget:self]; 

이렇게 하면 가장 마지막에 던진 메소드가 취소됩니다.
이렇게 하지 않고 특정 메소드를 취소시키려면 Selector를 지정해주면 됩니다. 

[NSRunLoop cancelPreviousPerformRequestsWithTarget:self selector:sMethod object:nil]; 


[출처] http://shkam.tistory.com/

?

  1. '2014 모바일 개발 트렌드' 발표자료입니다.

  2. Aspect Oriented Programming in Objective-C

  3. DDay Memo 1.9.4 소스코드

  4. GCM 사용하기 2 (단말에 GCM 구현하기)

  5. GCM 사용하기 3 (JSP로 GCM 푸시 서버 만들기)

  6. git 브런치 배우기 (링크)

  7. GPL, AGPL, MPL,.. 한눈에 보는 오픈소스SW 라이선스

  8. How to Test SMTP AUTH using Telnet

  9. JSON, BSON 변환

  10. Laravel 5 Failed opening required bootstrap/../vendor/autoload.php

  11. Mac OS 에 Jenkins 설치하기 (Homebrew)

  12. macOS에 node, npm 설치하기 (homebrew)

  13. OGNL(Object Graph Navigation Language)

  14. OpenGL 강좌 사이트 모음

  15. OPT와 CAS에 대한 자료.. (교수님 메일로 보내드린 자료..)

  16. SVN 명령어 (SVN command)

Board Pagination Prev 1 2 3 4 5 ... 53 Next
/ 53