Swift Realm 返回零对象

标签 swift realm

我在 Realm 浏览器中打开了我的 Realm 数据库,我可以看到有实际数据(10 个实体)。

但是当我调用 print("realm objects\(self.realm.objects(CharacterModel.self))")

结果为空:

realm objects Results<CharacterModel> <0x7f8d8f204a30> (

)

当我放置断点并检查数据库状态时,此时数据存在。为什么会这样?

Realm 是这样声明的:

 static func realm() -> Realm{
        do {
            let realm = try Realm()
            return realm
        } catch let error as NSError {

            fatalError("Error opening realm: \(error)")
        }
    }

最佳答案

如果我们消除一些变量,答案可能会自行揭晓:

以下代码适用于包含 Person() 对象的 Realm

func doPrintData() {
    do {
        let realm = try Realm()
        print("realm objects \(realm.objects(Person.self))")
    } catch let error as NSError {
        print(error.localizedDescription)
    }
}

下面的也行

func realm() -> Realm{
    do {
        let realm = try Realm()
        return realm
    } catch let error as NSError {

        fatalError("Error opening realm: \(error)")
    }
}

func doPrintData() {
    do {
        let realm = self.realm()
        print("realm objects \(realm.objects(Person.self))")
    } catch let error as NSError {
        print(error.localizedDescription)
    }
}

可能涉及更多代码,但请尝试上述解决方案之一,看看它是否有所作为。

关于Swift Realm 返回零对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46733538/

相关文章:

ios - 选择器标签更改为选定值 SwiftUI

ios - 是否可以在 SceneKit 中关闭抗锯齿以使像素艺术图像清晰?

android - Realm Android 和具有多面计算的大数据集

ios - 如何在 Swift 中将字典数组存储到 Realm 数据库

android - 按日期排序 - Realm (Android)

swift - 如何在一定范围内用操纵杆 move Sprite ?

swift - 如何为 UITableViewCell TextView 对象实现实时字数统计?

快速绘制自定义圆

caching - RxJava 2 并在 IO 线程上使用 Realm

java - 我可以在 Realm 对象 android 中有字符串的 arrayList