我是Core Data的新手,所以请耐心等待。 ;)
在我的数据模型中,我有一个名为“Item”的实体,有2个属性,“Section”和“Name”。我已经使用Name填充了UITableView(我的主视图),但是我想将TableView分成3个不同的部分,由属性“section”决定。我认为“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部分。)
如果有人能提供帮助,我们将不胜感激。
答案 0 :(得分:3)
创建NSfetchedResultsController时需要选择sectionNameKeyPath。这应该指向模型对象中的属性,对于同一部分中的每个项目都是相同的。
要显示节标题,请确保实现所有tableView dataSource方法,如NSfetchedResultsController文档中的示例所示。