领域结果对象类型

时间:2016-04-07 20:06:36

标签: ios swift realm

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

Error in MuPAD command: The operand is invalid. [_mult]

但是,如果我想事先声明并初始化dog变量并稍后将对象加载到其中,该怎么办?像:

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

在这种情况下,变量狗的类型应该是什么?

2 个答案:

答案 0 :(得分:7)

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

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

签名告诉您,当您将该函数调用为realm.objects(Dog)时,返回类型将为Results<Dog>

如果您希望声明变量并稍后在同一函数中初始化它,您可以简单地将声明与初始化分开,如下所示:

let dogs: Results<Dog>

// …

dogs = realm.objects(Dog)

如果要声明成员变量并需要在init之后对其进行初始化,则应将其声明为可选并使用var

var dogs: Results<Dog>?

// …

dogs = realm.objects(Dog)

答案 1 :(得分:-2)

除了结果,您还可以使用List。如果您在One:Many示例中返回对象,这将非常有用。

如果您有两个模型Country和City,则Country可以有多个城市。

var rlmCountry: Country!
var rlmCities: List<City>?

rlmCities = rlmCountry.cities