전체 글
-
TIL - 2022년 02월 21일TIL/2022 2022. 2. 22. 03:23
iOS FetchedResultsController와 CollectionView 그리고 LongPressGesture, Animation, CollectionView Reordering을 함께 고려하니 문제가 생겼다... FetchedResults가 fetchReques를 기반으로 정렬을 하다 보니 reordering을 하기 쉽지 않다... 새로운 attribute를 만들어서 그것을 기준으로 실시간으로 업데이트하며 정렬시켜보려 하니 계속해서 coredata를 업데이트하기 때문에 이게 좋은 구현인지는 모르겠다. fetchedResult를 사용하지 않고 그냥 구현하는 방식도 고려를 해봐야겠다.
-
TIL - 2022년 02월 20일TIL/2022 2022. 2. 21. 03:05
iOS ValueTransformer를 어떻게 하면 더 깔끔하게 만들 수 있을까 고민을 해봤는데... 일단 ValueTransformer를 서브클래싱하고 Codegen을 Manual로 하는 방법을 택했다. 왜 AppDelegate에서 register를 해도 변화가 없는지는 찾아봤지만 해결되지 않았다ㅠㅠ FetchedResultsController에 대해서 복습을 했다. 이전에는 tableView에서만 fetchedResultController를 사용했었는데 이번에는 collectionView에서 사용해야 했다. 문제는 tableView에는 batchupdate를 쉽게 구현할 수 있지만 collectionView와 fetchedResultsController를 같이 사용하면 이 구현이 조금 복잡해졌다. O..
-
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에서 제공하는 메서..
-
Xcode - Memory Leak 확인하는 방법Programming/갈 곳 잃은 친구들 2022. 2. 17. 15:47
안녕하세요 BeePeach입니다 :) 오늘은 앱에서 memory leak이 발생하고 있는지 아닌지 확인하는 방법에 대해서 공부해보려고 합니다. Memory Leak이 발생하는 대표적인 이유는 strong reference cycle 때문에 발생하게 됩니다. Cycle을 해결하는 방법은 적절하게 프로퍼티를 weak 또는 unowned로 설정하거나 클로저를 사용할 때 capture list를 이용해서 cycle이 발생하지 않도록 해주는 것입니다. 그런데 해결 방법은 알고 있지만 어디서 memory leak이 발생하는지 모른다면 해결할 수 없겠죠?? 그래서 memory leak이 발생하고 있는지, 발생한다면 어느 부분에서 발생하는지 확인하는 방법을 알아야합니다. Memory Leak 확인하기 1. cmd + ..
-
iOS - Cell안에 delegate를 두 객체에 연결하는 방법?Programming/iOS 2022. 2. 16. 21:43
안녕하세요 BeePeach입니다 :) 쌩쑈로부터 시작한 이번 포스팅... 제목도 뭐라고 해야 할지 애매하네요. Cell안에 delegate 구현이 필요한 객체가 있을 때 delegate를 연결하는 방법? delegate를 두 곳에 사용하는 방법?? 일단 시작해보겠습니다. 화면 구성부터 보겠습니다. CollectionView가 있고 cell안에 textField와 textLabel이 있습니다. 그리고 VC의 view에 textField가 하나 더 있습니다. 원하는 구현은 cell안에 textField가 있고 delegate를 통해서 return을 입력하면 화면 중앙의 textField로 firstResponder를 넘겨주고 싶습니다. 그리고 여기에 더해서 입력한 글자를 바로 아래 textLabel에 실시간..