UITableView的部分由core data驱动



我有以下json文件

 {
   items = ({“text1” = “lorem ipsum”;},
            {“text2” = “lorem ipsum”;});
   id = 0;
   title = “item0”;
 },
 {
   items = ({“text1” = “lorem ipsum”;},
            {“text2” = “lorem ipsum”;});
   id = 1;
   title = “item1”;
 }

我使用核心数据的持久性标题是第一个实体的名称,也是表视图的节名我想填充项目数组到节,例如节标题= "items1"包含2个项目text1和text2我的问题是与细胞如何将该信息添加到细胞,但与核心数据。我的第一次尝试是创建一个具有Transformable类型的实体,例如在NSManagedObject

self.title = [dictionary objectForKey:@"title"];
NSArray *items = [dictionary objectForKey:@"items"];
if ([items isKindOfClass:[NSArray class]])
{
   for (NSDictionary *item in items)
   {
      self.arr = [clip objectForKey:@"text1"];
   }
}
关于这个话题有什么想法吗?

我认为你可以使用NSFetchedResultsController。查看Apple文档获取更多信息

我使用以下代码获取数据

- (NSFetchedResultsController *)fetchedResultsController
{
    if (!_fetchedResultsController)
    {
        NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
        NSEntityDescription *entity = [NSEntityDescription entityForName:@"List" inManagedObjectContext:self.managedObjectContext];
        [fetchRequest setEntity:entity];

        NSSortDescriptor *authorDescriptor = [[NSSortDescriptor alloc] initWithKey:@"test" ascending:YES];
        NSSortDescriptor *titleDescriptor = [[NSSortDescriptor alloc] initWithKey:@"title" ascending:YES];
        NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:authorDescriptor, titleDescriptor, nil];
        [fetchRequest setSortDescriptors:sortDescriptors];

        _fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:self.fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:self.sectionNameKeyPath cacheName:self.cacheName];
        _fetchedResultsController.delegate = self;
        [_fetchedResultsController performFetch:nil];
    }
    return _fetchedResultsController;
}

最新更新