在我的应用程序中,我有一个由Core Data填充的UITableView,目前是一个名为“name”的字符串。我希望能够将这个tableview划分为3个部分,可以命名为0,1和2,或者1,2和3.这个名称并不重要。我目前真的不知道如何实现这一目标。我的数据模型中有一个名为“term”的新属性,这就是我希望这些部分的基础。它最好是一个整数吗?
我是iOS开发的新手,所以如果有人知道这是怎么做的,我会非常感激。
这是我当前的代码,它使用“name”属性填充tableview。
- (void)setupFetchedResultsController
{
//1 - Entity
NSString *entityName = @"Task"; // Put your entity name here
NSLog(@"Setting up a Fetched Results Controller for the Entity named %@", entityName);
//2 Request
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:entityName];
// 3 - Filter
//request.predicate = [NSPredicate predicateWithFormat:@"Task.name = name"];
// 4 - Sort
request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"name"
}
谢谢大家!
答案 0 :(得分:0)
我不明白您是否使用NSFetchedResultsController
。
在第一种情况下(您使用它),您可以利用它将term
设置为划分部分的属性。当您使用NSFetchedResultsController
创建– initWithFetchRequest:managedObjectContext:sectionNameKeyPath:cacheName:
时,您可以将@"term"
作为sectionNameKeyPath
的参数传递。
在第二种情况下,我真的建议在处理NSFetchedResultsController
时处理UITableView
。设置NSFetchedResultsController
确实是样本,因为您需要创建它并将其传递给NSFetchRequest
。你创建的那个是好的。
有关详细信息,建议您阅读core-data-tutorial-how-to-use-nsfetchedresultscontroller和NSFetchedResultsController class reference。
希望它有所帮助。