为什么我收到以下编译器警告:
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的子类。
答案 0 :(得分:1)
self.detailViewController.editToDoItem
需要一个ToDoItem
对象,所以你不能
传递NSManagedObject
超类的对象:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
ToDoItem *object = [[self fetchedResultsController] objectAtIndexPath:indexPath];
self.detailViewController.editToDoItem = object;
}