首页 > 解决方案 > 致命错误:确保您已注册类型“用户”:文件

问题描述

我正在尝试在我的第一个 iOS 应用程序中使用 Realm 进行数据持久性。我决定使用 Unrealm 中的 Realmable,因为我使用 struct 而不是 class 作为我的实体模型,但是Fatal error: Make sure you've registered type 'User': file当我尝试添加到数据库时出现此错误。

我怎样才能度过这个难关?

代码


    import UIKit
    import Unrealm
    import RealmSwift
    
    struct User:Encodable, Realmable {
        init() {
            
        }
        
        var name:String?
        var email:String?
        var password:String?
        var country:String?
        var phone:String?
        var token:String?
        var changedPassword:Bool?
    
      
        static func primaryKey() -> String? {
            return "email"
        }
    }
    
            let realm = try! Realm()
            var user1 = User()
                      user1.name = "Tade"
                      user1.email = "tade@email.com"
                      user1.password = "payload.password"
                      user1.country = "payload.country"
                      user1.phone = "payload.phone"
                      user1.changedPassword = false
                      user1.token = "AuthResponse.token"
                      
                      do{
                          try! realm.write{
                              realm.add(user1)
                          }
                      }catch{
                          print(error)
                      }

标签: iosswiftrealm

解决方案


您必须在 AppDelegate 的 didFinishLaunchingWithOptions “使用它们之前”注册您的类/结构和枚举

Realm.registerRealmables(User.self)

推荐阅读