0

我有使用核心数据数据库的 iOS 应用程序,我使用 NSFetchedResultsController 来填充表格视图。我使用名为“Catalog”的实体来填充 tablview,并且我将缩略图存储在名为“Image”的实体中,并且我将图像作为 NSData 存储在图像实体的属性中,我在填充 tableview 后更新该缩略图,但任何波纹管方法都没有叫。

  • (void)controllerWillChangeContent:(NSFetchedResultsController *)controller
  • (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath
  • (void)controller:(NSFetchedResultsController *)controller didChangeSection:(id)sectionInfo atIndex:(NSUInteger)sectionIndex forChangeType:(NSFetchedResultsChangeType)type
  • (void)controllerDidChangeContent:(NSFetchedResultsController *)controller

  • 但是,当我更改“目录”实体本身的属性时,这些方法会被调用。

我的实体信息

目录(实体)

属性

title <= String nid <= String (我的主键字段) 一些属性

关系

关系:thumbImage,目标:图像,逆:目录,

图像(实体)

属性 fid <= 字符串(我的主键字段),图像 <= 图像数据字段

关系

关系:目录,目标:目录,逆:thumbImage

4

1 回答 1

0

尝试将此添加到您的Image实体中:

//Not tested
- (void) setImage:(NSData *)data
{
    [self.catalog willChangeValueForKey:@"thumbImage"]
    [self willChangeValueForKey:@"image"];
    [self setPrimitiveValue:data forKey:@"image"];
    [self didChangeValueForKey:@"image"];
    [self.catalog didChangeValueForKey:@"thumbImage"];
}
于 2013-05-07T09:56:18.683 回答