I have two entities with relationships in coredata:
Entity "Kategorien" has the relation "To Many" to Entity "Details" that is called "kategorie"
In controllerA with "Kategorien" i pick "Kategorien" and reach it to the controller "DetailViewController" with "Details":
Swift:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "MainDetail" {
let indexPath:NSIndexPath = self.tableView.indexPathForSelectedRow()!
let controller = segue.destinationViewController as DetailViewController
let kat:Kategorien = self.fetchedResultsController.objectAtIndexPath(indexPath) as Kategorien
controller.kategorie = kat }
}
In DetailViewController i receive it:
class DetailViewController: UITableViewController, NSFetchedResultsControllerDelegate {
var kategoie:Kategorien!
In Objective-C kat is a property in DetailViewController.h
@property (strong, nonatomic) Kategorien *kat;
and in the fetchResulController i just said
#pragma mark - Fetched results controllers delegates
- (NSFetchedResultsController *)fetchedResultsController {
...
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"kategorie == %@", kat];
and the records for the kategorie are shown.
With Swift in the fetchResulController i tried it with
fetchRequest.predicate = NSPredicate(format:"kategorie == %@", kategorie)
and other ways (i.e. kategorie.description) but
no records will appear
Whar did i missunderstand? Where is my mistake? It drives me crazy...