2017-10-13 81 views
0

我已经在Realm浏览器中打开我的领域数据库,我可以看到有实际的数据(10个实体)。Swift领域返回零对象

但是,当我打电话print("realm objects \(self.realm.objects(CharacterModel.self))")

结果为空:

realm objects Results<CharacterModel> <0x7f8d8f204a30> (

) 

当我把断点,此时数据存在检查数据基本状态。为什么会发生?

境界声明那样:

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

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

回答

1

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

下面的代码工作与包含人(一个域)对象

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) 
    } 
} 

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