这是非常基本的,但我无法找到如何使用Swift从Realm数据库中获取类型的所有对象。是的,是的:
Error in MuPAD command: The operand is invalid. [_mult]
但是,如果我想事先声明并初始化dog变量并稍后将对象加载到其中,该怎么办?像:
var dogs = try! Realm().objects(Dog)
在这种情况下,变量狗的类型应该是什么?
答案 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