コードにいくつかの修正を加えて、ここでは、質問を再尋ねる:レルムスウィフトフィルター複数ViewControllers
私は銀河と呼ばれるクラスを持って、惑星
class Galaxy: Object {
let planets = List<Planet>()
}
class Planet: Object {
dynamic var capitol = String()
dynamic var council = String()
dynamic var collective = String()
dynamic var signals = String()
}
のリストと、各私は10を持っていますそれぞれがその銀河に特有の様々な惑星を持つ銀河を表している。特定の銀河の特定の惑星をどのようにフィルタリングできますか?
暗黙的にアンラップされたオプションのResults<Galaxy>!
インスタンスをインスタンス化すると、私のAppDelegateにスターターデータがあるため、最初のGalaxy VCでコンパイルされます。 2番目のGalaxy VCでlet galaxy = Results<Galaxy>? = nil
を実行すると、コレクションビューは空白になります。
データがないため、これは意味があります。
私はResults
オブジェクトをインスタンス化し、初期データのないビューコントローラごとにどのようにフィルタリングするのですか?
私はviewDidLoad()
でgalaxies = realm.objects(Galaxy.self).filter("planets == %@", firstPlanet).sorted(byKeyPath: "capitol", ascending: false)
を試みたが、このクラッシュ:
libc++abi.dylib: terminating with uncaught exception of type NSException
最後に、var galaxy = Results<Galaxy>()
は例外cannot invoke initializer for type Results with no arguments
を発生させます。あなたのビューコントローラAの場合
再質問_what_質問?既にStack Overflowに質問を投稿している場合は、他の投稿全体を作成するのではなく、必要に応じて編集することをお勧めします。または、異なるが関連する投稿を参照する場合、それにリンクすることも役に立ちます。 – jpsim