我在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> (
)
答案 0 :(得分:1)
如果我们消除一些变量,答案可能会显现出来:
以下代码适用于包含Person()对象
的Realmfunc 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)
}
}
可能涉及更多代码,但尝试上述解决方案之一,看看它是否有所作为。