领域结果对象types

这是非常基本的,但我无法find如何使用Swift从Realm数据库中获取所有types的对象。 是的是的:

var dogs = try! Realm().objects(Dog) 

但是如果我想事先声明和初始化variablesdog并在稍后加载对象呢? 喜欢:

 var dogs = ??? dogs = realm.objects(Dog) 

在这种情况下,变犬的types应该是什么?

Realm.objects(_:)具有以下签名:

 public func objects<T: Object>(type: T.Type) -> Results<T> 

签名告诉你,当你将函数作为realm.objects(Dog)调用时,返回types将是Results<Dog>

如果你想声明这个variables,并在之后的同一个函数中初始化它,你可以简单地把声明从初始化中分离出来,如下所示:

 let dogs: Results<Dog> // … dogs = realm.objects(Dog) 

如果你正在声明一个成员variables,并且需要在init之后初始化它,你应该声明为一个可选的并使用var

 var dogs: Results<Dog>? // … dogs = realm.objects(Dog) 

以及结果,你也可以使用列表。 如果您以“一个:很多”的示例返回对象,这非常有用。

如果你有两个模型国家和城市,一个国家可以有很多城市。

 var rlmCountry: Country! var rlmCities: List<City>? rlmCities = rlmCountry.cities