基于核心数据属性的 UITableView 部分
Posted
技术标签:
【中文标题】基于核心数据属性的 UITableView 部分【英文标题】:UITableView Sections based on Core Data attribute 【发布时间】:2012-05-25 18:47:39 【问题描述】:在我的应用程序中,我有一个由 Core Data 填充的 UITableView,目前是一个名为“name”的字符串。我希望能够将这个 tableview 分成 3 个部分,可以命名为 0、1 和 2,或 1、2 和 3。名称并不重要。我目前真的不知道如何实现这一点。我的数据模型中有一个名为“term”的新属性,这是我希望这些部分所依据的。这最好是整数吗?
我是 ios 开发的新手,所以如果有人知道怎么做,我将不胜感激。
这是我当前使用“名称”属性填充表格视图的排序代码。
- (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"
谢谢大家!
【问题讨论】:
【参考方案1】:我不明白你是否使用NSFetchedResultsController
。
在第一种情况下(您使用它),您可以利用它将term
设置为划分部分的属性。当您使用– initWithFetchRequest:managedObjectContext:sectionNameKeyPath:cacheName:
创建NSFetchedResultsController
时,您可以将@"term"
作为sectionNameKeyPath
的参数传递。
在第二种情况下,我真的建议在处理UITableView
s 时处理NSFetchedResultsController
s。设置NSFetchedResultsController
确实是一个示例,因为您需要创建它并将其传递给NSFetchRequest
。你创建的没问题。
有关更多信息,我建议阅读core-data-tutorial-how-to-use-nsfetchedresultscontroller 和NSFetchedResultsController class reference。
希望对你有帮助。
【讨论】:
我正在使用 NSFecthedResultsController。非常感谢您的意见。我会试试这个。 @user1247573 不客气...如果您认为正确,请标记为答案。干杯。以上是关于基于核心数据属性的 UITableView 部分的主要内容,如果未能解决你的问题,请参考以下文章
iPhone 核心数据:具有不同属性和字母部分的 NSFetchRequest
使用 fetchedResultsController(核心数据)对部分进行排序以填充我的 UITableView
使用具有不同单元格数的部分的 UITableView 的核心数据
iOS - 将单元格添加到带有核心数据和 NSFetchedResultsController 的空 UITableView 部分