Realm
-
[iOS_MyInventory] Realm 적용 3 - todayExtensionProject/[release] iOS - MyInventory 2020. 3. 22. 14:49
todayExtension 을 적용하기위해 해야할 사항 - main 앱과 위젯이 데이터를 공유하기 위해서는 그룹아이디를 설정해야 한다. - 이 groupId 를 통하여, realm path 를 지정해 메인앱과 위젯이 같은 realmDB 를 불러오게 한다. groupId 를 생성하고, 이 아이디값을 상수로 저장하여 메인앱, 위젯에서 사용할 수 있게 했다. realm 초기화할때 주의할점 메인앱에서 realm 인스턴스 생성할때 적용한 config 옵션과, 동일한 조건을 적용해야 같은 RealmDB 를 불러 올 수 있는듯 하다. 예) 메인앱에서 migration 을 했다면, 위젯에서도 realm 초기화시 같은 조건을 추가해줘야 한다. let realmPath = FileManager.default .contai..
-
[iOS_MyInventory] Realm 적용 2 - Struct 와 같이 사용하기Project/[release] iOS - MyInventory 2020. 3. 21. 11:02
Realm 에서 지원하는 객체모델은 다음과 같이 class 형태로 작성을 해야한다. class Dog: Object { @objc dynamic var name = "" @objc dynamic var age = 0 } Realm 객체모델을 구조체로(struct) 사용하기 위해서는, struct RealmObject 를 맵핑하는 중간다리가 필요하다. 이를 Persistable 프로토콜이 담당한다. public protocol Persistable { associatedtype ManagedObject: RealmSwift.Object // RealmObject -> Struct 변환 init(managedObject: ManagedObject) // Struct -> RealmObject func man..
-
[iOS_MyInventory] Realm 적용 1 - ManagerClass 를 활용하기Project/[release] iOS - MyInventory 2020. 3. 20. 17:37
Realm Test Flow - 공식문서를 확인하여 Object 생성, 기본적인 CRUD 동작 확인 - Realm tutorial 을 통해 어떻게 활용하는지 확인 - 기존 프로젝트의 데이터는 struct model 로 생성되있으므로, RealmObject 를 struct 로 변환할수 있는지 확인, 테스트코드 작성 - TodayExtension 에서 메인앱에서 쓰고 있는 Realm을 가져올수 있는지 테스트 STEP_1 ) Realm 작업을 전용으로 하는 Class 를 통해 CRUD 테스트 해보기 우선 저장할 데이터의 Realm 객체 모델을 생성한다. id 는 사용자를 식별하기 위한 고유한 값으로, 전체 데이터수를 기반으로 1씩 올라간다. @objcMembers class RealmPerson: Object..
-
Realm] 참고 자료Programming/iOS 2020. 3. 18. 03:27
RealmObject Struct 변환 https://medium.com/@ludovicjamet/how-to-use-struct-with-realm-615fcbc8f0ee How to use struct with Realm ? By default, Realm Objects are classes and not structs because they are not values, but auto-updating objects pointing to data in Realm… medium.com class 분리 https://insights.nimblechapps.com/app-development/ios-app-development/using-realm-mobile-database-with-swift-4-0-i..