领域结果对象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