C'est vraiment basique mais je ne peux pas find comment get tous les objects d'un type à partir d'une database Realm en utilisant Swift. Oui oui:
var dogs = try! Realm().objects(Dog)
mais que se passe-t-il si je veux déclarer et initialiser les chiens à l'avance et charger des objects plus tard? Comme:
var dogs = ??? dogs = realm.objects(Dog)
Quel devrait être le type de chiens variables dans ce cas?
Realm.objects(_:)
a la signature suivante:
public func objects<T: Object>(type: T.Type) -> Results<T>
La signature vous indique que lorsque vous appelez la fonction en tant que realm.objects(Dog)
, le type de return sera Results<Dog>
.
Si vous souhaitez déclarer la variable et l'initialiser plus tard dans la même fonction, vous pouvez simplement séparer la déclaration de l'initialisation, comme ceci:
let dogs: Results<Dog> // … dogs = realm.objects(Dog)
Si vous déclarez une variable membre et que vous devez l'initialiser après init
, vous devez déclarer en option et en utilisant var
:
var dogs: Results<Dog>? // … dogs = realm.objects(Dog)
Ainsi que les résultats, vous pouvez également utiliser la list. Ceci est utile si vous renvoyez des objects dans un exemple One: Many.
Dans le cas où vous avez deux templates Pays et Ville, où un pays peut avoir plusieurs villes.
var rlmCountry: Country! var rlmCities: List<City>? rlmCities = rlmCountry.cities