ios - 使用 EVReflection 转换时 Realm 对象为空

标签 ios json swift realm

我在将 Realm 对象转换为 jsonString 时遇到问题。我在网上搜索但找不到明确的答案。我猜可能是什么问题...

我有一个用户类:

import RealmSwift
import EVReflection

public class User: Object, EVReflectable, IModel {
    dynamic var id: String = UUID().uuidString

    dynamic var createdAt: String = ""
    dynamic var lastUpdate: String = ""

    dynamic var firstName: String = ""
    dynamic var lastName: String = ""

    dynamic var email: String = ""
}

当我尝试像这样从我的 Realm 数据库加载用户时:

let users = realm.objects(User.self).filter("id = %@", userId)
let user = users.first

我可以毫无问题地访问该对象。我看到了对象中存储的所有数据。

如果我想将数据转换为 JSON 字符串并输出它,我会得到一个空的 JSON 对象:

print(user.toJsonString())

./输出

{
   "id":"64EA49AA-333C-4C76-B92C-464EFE1D9E10",
   "createdAt":"",
   "lastUpdate":"",
   "firstName":"",
   "lastName":"",
   "email":""
}

这是错误还是与 Realm 相关的行为。因为我能找到的解释这种行为的唯一解释是这个问题:Github Realm Issue

如果这是由 Realm 引起的,有没有人可以解决这个问题?

最佳答案

在 EVReflecdtion 中, Realm 对象现在将默认实现 EVCustomReflectable 协议(protocol),以便它能够获取 Realm 属性。请更新到最新版本。请注意,它现在也将使用 Realm 3。

关于ios - 使用 EVReflection 转换时 Realm 对象为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46157123/

相关文章:

ios - iOS 版 Google Drive SDK 支持 64 位架构吗?

iOS客户端服务器方法

ios - Alamofire - 有没有办法设置自定义默认队列来处理所有请求回调

ios - 将录制的音频上传到 Firebase

ios - 初始加载时导航 Controller 后面的 UITableViewController 中的 UITableView

ios - 按下点击手势识别器时 AVAudioPlayer 不播放声音

java - 如何确定 JSON 键是否已设置为 null 或未提供

c# - 如何全局设置 System.Text.Json.JsonSerializer 的默认选项?

php - 如何使用 Highcharts 显示数据库中的历史数据和实时数据

ios - CFSocketSetAddress 绑定(bind)失败 : 48 after reopening stream