2016-06-30 14 views
0

Ich habe einen Tabellenansicht-Controller eingerichtet, der alle einzigartigen Übungen auflistet. Also mein holen und alles funktioniert. Ich habe es auch in eine Tabelle mit den folgenden ZeileniOS Core Data Extract NSString ausholen

NSManagedObject *exercise = [self.exercises objectAtIndex:indexPath.row]; 
    [cell.textLabel setText:[NSString stringWithFormat:@"%@", [exercise valueForKey:@"exercise"]]]; 

aber wenn ich versuche, das ausgewählte Element an einem anderen View-Controller senden ich ein seltsames Objekt. Es läuft funktional als String und druckt eine Zeichenfolge auf dem nächsten View-Controller. Wenn ich jedoch in den Kerndaten weitere Abfragen anstelle, ist das Objekt nicht wirklich ein String, so dass es leer ist.

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; 

if ([segue.identifier isEqualToString:@"showGraph"]) { 
    ProgressGraphViewController *destViewController = segue.destinationViewController; 
      destViewController.exercise = [_exercises objectAtIndex:indexPath.row]; 

} 

} @end

Dies ist, was die Daten aussieht, wenn ich Haltepunkt und inspizieren

Was ist NSKnownKeysDictionary1 und wie kann ich einen String aus ihm heraus?

+0

Überprüfen Sie den Antworttyp Ihrer Abrufanforderung, dieser sollte als NSManagedObject festgelegt werden. – Andy

+0

Haben Sie '.resultType = .DictionaryResultType' angegeben, wenn Sie den Abruf ausführen? Das 'NSKnownKeysDictionary' ist das, was in diesem Fall zurückgegeben wird. – pbasdf

Antwort

0

Wie @Andy erwähnt, überprüfen Sie den Objekttyp. Wenn sein ManagedObject-Typ es besser in der managedObject-Eigenschaft übergibt, kann das Objekt umgewandelt werden. Bessere Eigenschaft "Übung" von NSString zu NSManagedObject ändern.