我已经设置了一个表格视图控制器,列出了所有独特的练习。所以我的抓取和一切都有效。我还把它放在一个包含以下行的表中
NSManagedObject *exercise = [self.exercises objectAtIndex:indexPath.row];
[cell.textLabel setText:[NSString stringWithFormat:@"%@", [exercise valueForKey:@"exercise"]]];
然而,当我尝试将所选元素发送到另一个视图控制器时,我得到一个奇怪的对象。它在功能上以字符串形式运行,并在下一个视图控制器上打印字符串。但是当我在核心数据中进行进一步的查询时,该对象实际上并不是一个字符串,所以它取出为空。
- (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
什么是NSKnownKeysDictionary1以及如何从中获取字符串?
答案 0 :(得分:0)
正如@Andy所提到的,检查对象类型。如果其ManagedObject类型更好地在managedObject属性中传递它,则执行该对象的强制转换。 更好地改变财产"运动"从NSString到NSManagedObject。