ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TIL - 2022년 02월 17일
    TIL/2022 2022. 2. 18. 02:12

    iOS

    특정 이벤트가 발생하고 정해진 시간 안에 이벤트가 발생하지 않으면 작업을 종료,  정해진 시간안에 이벤트가 또 발생하면 시간은 reset 하는 방법을 어떻게 구현할까 하다가 많이 사용한 notification과 GCD를 활용하려 했는데 sync에서는 asyncAfter와 같은 메서드가 존재하지 않았다. (Async로 하면 안되는 작업이었다.)

    background thread에서 Sync를 하고 중간에 sleep을 할까도 생각했지만 sleep은 위험성이 있어서 다른 방법을 생각해봤다.

     

    중간에 Timer를 사용하기도 했었는데 background thread이기 때문에 timer가 동작하지 않았다.

    해당 부분을 이해하기 위해서 runloop에 대해서 다시 공부를 했다.

    그리고 timer에서 제공하는 메서드도 async여서 결국 의미가 없었다.

     

    중간에 task를 모두 취소해야 하는 경우가 있어서 Operation을 사용하는 게 더 좋다고 생각을 했다.

    Operation을 이용하고 schedule(after:_:) 메서드를 이용해서 해결했다.

    말은 쉽게 했지만 해결방법을 찾느라 상당히 오랜 시간이 걸렸다...

     

     

     

    Git

    ReadMe를 꾸미는 방법에 대해서 공부하고 대충 일단 끄적끄적해봤다.

     

     


     

    728x90

    'TIL > 2022' 카테고리의 다른 글

    TIL - 2022년 02월 20일  (0) 2022.02.21
    TIL - 2022년 02월 19일  (0) 2022.02.20
    TIL - 2022년 02월 15일  (0) 2022.02.16
    TIL - 2022년 02월 14일  (0) 2022.02.15
    TIL - 2022년 02월 13일  (0) 2022.02.14
Designed by Tistory.