iOS核心数据从提取中提取NSString

时间:2016-06-30 07:13:03

标签: objective-c core-data nsstring

我已经设置了一个表格视图控制器,列出了所有独特的练习。所以我的抓取和一切都有效。我还把它放在一个包含以下行的表中

    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以及如何从中获取字符串?

1 个答案:

答案 0 :(得分:0)

正如@Andy所提到的,检查对象类型。如果其ManagedObject类型更好地在managedObject属性中传递它,则执行该对象的强制转换。 更好地改变财产"运动"从NSString到NSManagedObject。