DIContainer 사용 시 Actor Isolation 문제 해결하기
·
iOS
안녕하세요~! 집주인들의 미래 박효준입니다!이번에는 저희가 Swift6환경에서 DIContainer를 Singleton으로 사용하려고 했는데...!actor와 isolation문제가 발생해서 해결과정을 적었습니다! 그럼 슈웃~문제 상황UIKit을 사용하면서 actor를 기반으로 한 DIContainer를 구현하던 중, 아래와 같은 에러를 마주했다.Call to actor-isolated instance method 'register(_:object:)' in a synchronous main actor-isolated context왜 이런 지 알아보도록 하자문제 해결시도한 방법들actor로 DIContainer를 구현하고, register와 resolve 메서드를 사용하려 했더니 위와 같은 에러가 발생했..
드래그 앤 드랍 시 카테고리가 변경되어도 일관성 유지하기
·
iOS
반갑습니당 집주인 Kyxxn 박효준입니다 !지난 편에 이어서 이번에는 드래그 앤 드랍 시 카테고리가 변경되어도 일관성을 유지해보려는데요, 문제 상황부터 자세히 봐보시죠 〰️  문제 상황지난 편에서 CollectionView Drag Drop 델리게이트를 통해서 드래그 앤 드랍을 구현했었다.근데 우리는 책 커버를 한 번에 모아볼 수 있는 “전체”도 있고, 특정 카테고리에 대한 책 커버만 보여줄 수도 있다.이것에 대한 일관성 처리를 어떻게 할 지 알아보자.문제 해결시나리오가족, 친구 두 카테고리와 책들이 다음과 같이 있다고 가정해보겠다. 이 상황에서 “가족” 카테고리에서 책1을 책3으로 옮겼다고 하자.나는 그러면 “전체”에서 볼 때도 책1은 책3 뒤에 있어야 한다고 생각한다.위처럼 말이다. 또한, 반대로 “..
로컬 DB 결정 논의 (CoreData ~ FileManager)
·
iOS
안녕하세요! 집주인들입니다...로컬저장을 어떤 방식으로 활용할까에 대한 논의를 진행했습니다!구조화된 데이터 - 비구조화된 데이터 (주로 대용량)을 어떻게 나누어 정리할까 고민했습니다~문제 상황우리 앱은 처음에 서버가 없고, 로컬 DB를 사용한다.멀티미디어를 어떻게 어떤 DB로 관리할 지에 대한 논의를 작성했다.모델을 만들고나서, 이 모델들에 대한 데이터들을 어떻게 저장해야할지에 대해 논의가 필요했다.영상, 사진, 음성 등 용량이 큰 데이터들을 저장해야 함텍스트도 저장해야 함우리가 고민한 기술들은 아래와 같다.UserDefaults vs CoreData vs SwiftData vs FileManager(Realm도 고려를 했으나, 요구사항에 맞추어 서드파티 없이 해결하기로 하였다.)문제 해결우리의 상황에 ..
우리팀에 적용할 iOS Local DataBase 기술스택 비교 분석 및 결정
·
iOS
문제 상황우리 앱은 처음에 서버가 없고, 로컬 DB를 사용한다.멀티미디어를 어떻게 어떤 DB로 관리할 지에 대한 논의를 작성했다.모델을 만들고나서, 이 모델들에 대한 데이터들을 어떻게 저장해야할지에 대해 논의가 필요했다.영상, 사진, 음성 등 용량이 큰 데이터들을 저장해야 함텍스트도 저장해야 함우리가 고민한 기술들은 아래와 같다.UserDefaults vs CoreData vs SwiftData vs FileManager(Realm도 고려를 했으나, 요구사항에 맞추어 서드파티 없이 해결하기로 하였다.) 문제 해결우리의 상황에 맞추어서 각각의 기술들이 갖는 이점을 분석하기로 하였다.UserDefaults용량에 제한이 존재간단한 String 기반 Key-Value쌍을 저장하기에 적합주로 사용자 정보를 저장하..
프로젝트 기술 스택 결정: UIKit vs SwiftUI
·
iOS
문제 상황기획에 따른 프레임워크 선정UIKit vs SwiftUI문제 해결UIKit 장점아직 많은 회사들이 사용함익숙해서 사용하기 편함 (영현기준..)뷰 구현에 있어서 불가능은 없다..?라이프사이클별로 관리 가능 UIKit 단점언젠가 사용하지 않을 수도…?오토레이아웃 번거로움build-run-해당depth까지 들어가서 확인 필요라이프사이클 관리 필요(장단점이긴 함)파일 하나 당 코드가 너무 김e.g. Delegate & DataSource 채택하면.. SwiftUI 장점뷰 그리는 측면에서 편하다레이아웃재사용성선언형 방식을 잘 알고 있다면,UIKit보다 훨씬 유용할 것 같음즉시 결과를 확인할 수 있다 (Preview)의존성 주입이 굉장히 편리하다 (e.g. Environment 어쩌고..)직관적이다 (= ..