私はNSFetchedResultsController
sortDescriptorで問題を抱えています。私は、To-Many関係を持ち、sortDescriptorとして使用したいと思っています。私の問題は、このデータがNSSet
にあることです。それを私のsortDescriptorでどうやって使うことができますか?私はそれを実行したときに私が得た:NSFetchedResultsController - NSSortDescriptorとして対多の関係を使用して - スウィフト
「キャッチされない例外により 『NSInvalidArgumentException』、理由にアプリを終了: 『ここでは使用できないように、多くのキー』」 エラー。
私は基本的にDEVICEエンティティとTESTエンティティを持っています。私は、TESTエンティティの最新の日付を使ってデバイスをソートしたいと思います。 Googleにこのリソースを使用する際のリソースが不足していると判断して、それが可能かどうか疑問に思うようになります。これを達成するための最も簡単な方法は何ですか?
func fetchByFloor(){
let fetch = NSFetchRequest(entityName: "Device")
let sort = NSSortDescriptor(key: "estMessageFloor", ascending: false)
let sortTested = NSSortDescriptor(key: "latestTestDate", ascending: true)
let sortAddress = NSSortDescriptor(key: "estAddress", ascending: true)
let sortChanged = NSSortDescriptor(key: "deviceWasEdited", ascending: true)
fetch.sortDescriptors = [sort,sortTested, sortAddress]
fetch.fetchBatchSize = 20
let controller = NSFetchedResultsController(fetchRequest: fetch, managedObjectContext: ad.managedObjectContext, sectionNameKeyPath: "estMessageFloor", cacheName: nil)
controller.fetchRequest.predicate = devicePredicate
controller.delegate = self
fetchedResultsController = controller
navigationItem.title = "Building: \(currentBuilding)"
}
.....物事を取得するかもしれないリグジョブの方法のように思えるが、よりよい解決策が見つからない場合、これは今の仕事をしているようですコードの –
解決策は問題ありません。より再利用可能なTESTとの1対1の関係で同じことを行うこともできますが、最終的な結果は同じです。 to-manyの並べ替え記述子を設定することはできませんので、関係を何とか縮小する必要があります。 – Wain