ios - 致命错误:确保您已注册类型“用户”:文件
问题描述
我正在尝试在我的第一个 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)
}
解决方案
您必须在 AppDelegate 的 didFinishLaunchingWithOptions “使用它们之前”注册您的类/结构和枚举
Realm.registerRealmables(User.self)
推荐阅读
- wordpress - Wordpress:图片的网址包含上传// - 如何更改双斜杠?
- mysql - 在使用 GROUP BY 的查询中使用 rand() 时如何计算
- python - 更新未写入 SQLAlchemy 中的数据库
- batch-file - 使用 cmd 将应用程序设置为默认值
- ruby - 来自 Intellij Ant 构建的 Sencha 应用构建抛出错误 ruby 未检测到
- javascript - 如何在 Javascript 中访问多个 JSON 列表
- python - Nesting List within a List and Numpy Arrays
- unix - 一次中断所有 lerna --parallel 任务
- java - 使用 OpenJDK 的 Java 类的 Proguard 警告
- sql-server - 转换 nvarchar 过程时出现错误转换失败