[Realm Swift] - “Object type ‘RealmSwiftObject’ is not managed by the Realm. If using a custom `objectClasses` / `objectTypes` array in your configuration, add `RealmSwiftObject` to the list of `objectClasses` / `objectTypes`.” 오류 해결

2023. 5. 31. 01:37IOS

반응형

문제 상황

  • 제너릭 타입을 DB(Realm)관련 객체에 사용하다 크러쉬 난 에러 내용이다.
  • 나는RealmSwift.Object를 이용하여 DB내용을 탐색하다가 크러쉬가 났다.
let dbObjects = realm.objects(Object.self)
  • 대충 오류 내용을 보면 RealmSwiftObject는 관리를 해주지 않기 때문에 따로 추가하여야 한다는 내용?인것 같았다.
  • RealmFetchable등의 프로토콜을 채택하여 사용할려고 해봤지만 구체적인 타입 명시가 필요한 것 같다.

문제 해결

private let type: Object.Type

let dbObjects = realm.objects(type.self)
  • 위와 같이 명확한 객체 타입을 받아 명시해주는 방법
final class LocalDBManager<T: Object>: DatabaseManagable {
//....
    let dbObjects = realm.objects(T.self)
}
  • 제너릭타입으로 객체를 만들 때 받아 사용하는 방법으로 문제를 간단히 해결 할 수 있다.
반응형

'IOS' 카테고리의 다른 글

iOS 테스트코드의 이모저모 - 1편  (1) 2023.12.04
FSCalendar 스크롤 시 캘린더가 사라지는 이유  (0) 2023.08.23
GCD에 관하여 - 3  (0) 2023.03.12
GCD에 관하여 - 2  (0) 2023.03.10
GCD에 관하여 - 1  (0) 2023.03.08