realm 7

iOS 캐싱 로직 구현 전 디스크 분석

iOS 캐싱 로직 구현 전 디스크 분석 앱에서 서버를 통해 값을 받아온 후 이 값을 캐싱하고 있다가 사용자가 앱을 종료 후에 다시 접속한 경우 캐싱된 값을 먼저 보여준 후 네트워크 응답이 도착하면 갱신하는 형태로 구현하고자 함. UserDefaults, SwiftData, CoreData, Realm, Filemanager 중에서 어떤걸 선택하는 것이 좋은지 궁금해서 비교해보기로 함.UserDefaults: 간단한 데이터 저장에 유용해 적합하지 않을 것으로 보임.SwiftData: iOS 17이상이라서 현재 현실적으로 사용하기가 어려움.CoreData: Realm이 있어서 굳이 써야하는지 의문이긴 함.Filemanager: 자주 변경되는 데이터라서 성능적으로 적합하지 않을 것 같음.Realm: 12.2..

iOS CoreData Relationships

iOS CoreData Relationships iOS CoreData의 Relationship을 공부해보자.연관 포스팅[iOS CoreData 간단한 CRUD](https://rldd.tistory.com/587)[iOS SwiftData in UIKit](https://rldd.tistory.com/588)[iOS CoreData 이론](https://rldd.tistory.com/586)[iOS CoreData Relationships](https://rldd.tistory.com/661) 히스토리2024.10.13CoreData Relationship 정리2024.12.21CoreData Relationship 패키지 모듈화 정리샘플 코드에서 Commnutity Package 참고히스토리샘플코드목..

[ReactorKit] ReactorKit 공부하기 #5 RxTodo 따라잡기 (3)

ReactorKit 공부하기 #5 RxTodo 따라잡기 (3)목표: Service 도입을 위해 RxTodo 코드 분석하기 RxTodo Service쪽 코드 분석ServiceProvider.swiftServiceProvider는 ServiceProviderType을 상속받아서 provider의 self로 주어 구현하는 ServiceProvider를 채택할 클래스에서 구현protocol ServiceProviderType: class { var userDefaultsService: UserDefaultsServiceType { get } var alertService: AlertServiceType { get } var taskService: TaskServiceType { get }}final cla..

[Realm] Realm migration (Swift)

Realm migration (Swift) 해당 포스팅은 2번에 걸쳐 업데이트 될 예정입니다. 1. isBookmarked 필드를 추가하는 v2 마이그레이션 (✅ 2022.09.05 21:49 작성완료) 2. v2데이터를 사용하다가 또 다시 v3로 마이그레이션 (🟡 Not yet) 다들 알다시피 Realm의 경우에는 앱 설치 후 모델을 변경하면 migration이 필요함. 이 작업을 예전에 UserDefault로 Kuring 프로젝트에서 다른 개발자님이 하 셨었는데, 나도 도전 🔥 모델을 변경하고 앱을 딱 실행하면? 마이그레이션 하라는 문구가 나타남 일단 기존 모델로 저장된 값들을 Realm-Studio(Realm browser도 된다는데, 나 잘 안되어서 일단 이거 씀) 확인해보면 위 사진처럼 4개의 ..

[Realm] The document “default.realm” could not be opened.

The document “default.realm” could not be opened. Realm file is currently open in another process which cannot share access with this process. All processes sharing a single file must be the same architecture. For sharing files between the Realm Browser and an iOS simulator, this means that you must use a 64-bit simulator. MacOS에서 Realm broser 3.0.1 설치 후 해당 경로로 파일을 열어줄 때 발생 - 시뮬레이터 끄고 하면 된다고 함. ..

[Realm] Realm CRUD more modern and swifty

Realm CRUD more modern and swifty Realm 설치 - SPM으로 고고 https://github.com/realm/realm-swift GitHub - realm/realm-swift: Realm is a mobile database: a replacement for Core Data & SQLite Realm is a mobile database: a replacement for Core Data & SQLite - GitHub - realm/realm-swift: Realm is a mobile database: a replacement for Core Data & SQLite github.com Realm CRUD 살펴보기 import Foundation import Re..

[iOS] UICollectionView에 대해서 알아보기 6편 (Realm, async, await, Delegate)

UICollectionView에 대해서 알아보기 6편 (Realm, async, await, Delegate) 드디어 6편이다! 올해 봄, 기본기의 부족함을 너무 크게 느껴서, 기본기부터 다시 돌아보는 시간을 가졌는데, 이번에 Realm과 FelxLayout, PinLayout 등을 학습하면서 확실히 이전보다 더 빠르고 잘(?) 이해가 되는 것 같다. 모든 코드는 SPM으로 빌드가 가능한 상태로 올려드립니다. (주요내용) 이번에는 Realm과 Delegate를 활용해서 어떻게 처리하는지 알아보고 async, await을 활용해서 클로저를 없애고, RxSwift랑 잘 묶어보자! 🌿 UI 결과물 🌿 셀 내에 업데이트 버튼이 위치한다. 즉, 셀 내에서 CRUD작업 중 UD에 해당하는 작업을 처리한다. (CR은..