Swift领域返回零对象

时间:2017-10-13 15:43:04

标签: swift realm

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

但是当我打电话给public String myCollectionPropertyName { get; set; } public override DataTemplate SelectTemplate(object item, DependencyObject container) { var propertyInfo = item.GetType().GetProperty(myCollectionPropertyName); ((INotifyCollectionChanged)propertyInfo).CollectionChanged += MyGenericChangeEvent; }

结果为空:

print("realm objects \(self.realm.objects(CharacterModel.self))")

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

领域被宣布为:

realm objects Results<CharacterModel> <0x7f8d8f204a30> (

)

1 个答案:

答案 0 :(得分:1)

如果我们消除一些变量,答案可能会显现出来:

以下代码适用于包含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)
    }
}

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

相关问题