0

我是 Core Data 的新手,所以请多多包涵。;)

在我的数据模型中,我有一个名为“Item”的实体,具有 2 个属性,“Section”和“Name”。我已经使用名称填充了 UITableView(我的主视图),但我想将 TableView 分为 3 个不同的部分,由属性“部分”确定。我在想“section”属性应该是一个整数,所以 0 是第一个部分,1 是第二个部分,2 是第三个部分。

我真的不知道如何将 TableView 分成几个部分。我正在使用 NSFetchedResultsController。这是当前代码。

- (void)setupFetchedResultsController
{
// 1 - Decide what Entity you want
NSString *dbEntityName = @"Item"; // Put your entity name here

// 2 - Request that Entity
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:dbEntityName];

// 3 - Filter it if you want
//request.predicate = [NSPredicate predicateWithFormat:@"Item.name = what"];

// 4 - Sort it if you want
request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"name"
                                                                                 ascending:YES
                                                                                  selector:@selector(localizedCaseInsensitiveCompare:)]];
// 5 - Fetch it
self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
                                                                    managedObjectContext:self.managedObjectContext
                                                                      sectionNameKeyPath:nil
                                                                               cacheName:nil];
[self performFetch];
}

另外,我想知道 Xcode 中数据模型中的 Fetch Request 模板是否会有所帮助。我看到了如何创建获取请求,但没有看到如何让它对获取的内容做任何事情(例如:将获取的数据放入某个 TableView 部分。)

如果有人可以提供帮助,将不胜感激。

4

1 回答 1

3

创建 NSfetchedResultsController 时需要选择 sectionNameKeyPath。这应该指向模型对象中的一个属性,该属性对于同一部分中的每个项目都是相同的。

要显示节标题,请确保实现所有 tableView 数据源方法,如 NSfetchedResultsController 文档中的示例中所示。

于 2012-05-29T01:24:39.790 回答