1
如果我使用一對多,我可以顯示所有關聯的NSSet記錄,但許多人看起來似乎不工作。如何顯示與nsfetchedresultcontroller的多對多關係?
在我的繼續我通過體操運動員到一個VC中,我想在其中顯示所有相關的會面,在一對多工作正常。
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
if let objs = fetchedResultsController.fetchedObjects where objs.count > 0 {
let item = objs[indexPath.row] as! Gymnast
performSegueWithIdentifier("displayMeets", sender: item)
}
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "displayMeets" {
let vc = segue.destinationViewController as! SelectMeetVC
vc.selectedGymnast = sender as? Gymnast
}
}
我得到一個崩潰,除非我註釋掉NSPREDICATE
func loadFetchRequest() {
self.fetchedResultsController = nil
let fetchRequest = NSFetchRequest(entityName: "Meet")
let sortDescriptor1 = NSSortDescriptor(key: "meetName", ascending: true)
fetchRequest.sortDescriptors = [sortDescriptor1]
//let filter = NSPredicate(format: "gymnasts.fullName == %@", "\(selectedGymnast.fullName!)")
//fetchRequest.predicate = filter
let controller = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: AD.managedObjectContext, sectionNameKeyPath: nil, cacheName: nil)
controller.delegate = self
fetchedResultsController = controller
do {
try fetchedResultsController.performFetch()
} catch {
fatalError("Error retrieving core data")
}
}
非常感謝。完美工作。 – debratton