2017-10-13 108 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) 
    } 
} 

有可能涉及更多的代碼,但請嘗試上述解決方案之一,看看它是否有所作爲。