NSManagedObject上的编译器警告

时间:2014-02-09 18:53:43

标签: ios core-data

为什么我收到以下编译器警告:

Incompatible pointer types sending 'NSManagedObject *' to parameter of type 'ToDoItem *'

在这个方法的最后一行?:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSManagedObject *object = [[self fetchedResultsController] objectAtIndexPath:indexPath];
    self.detailViewController.editToDoItem = object;
}

ToDoItem是NSManagedObject的子类。

1 个答案:

答案 0 :(得分:1)

self.detailViewController.editToDoItem需要一个ToDoItem对象,所以你不能 传递NSManagedObject 超类的对象:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    ToDoItem *object = [[self fetchedResultsController] objectAtIndexPath:indexPath];
    self.detailViewController.editToDoItem = object;
}