- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 NSFetchResultsController 时遇到了一些麻烦,正在寻求一些帮助。
我的 CoreData 实体 FunCentre
具有以下属性 name
、latitude
、longitude
、country
、邮政编码
和收藏夹
。当用户在 tableview 中选择一行时,它会将 favourite
属性设置为 1,当再次点击时,它会将其设置回 0。这一切都很好,因为我已经检查了 sqlite 文件并且更改是正确发生。
我想使用部分来分隔喜欢的行和不喜欢的行。我希望收藏夹列在第一部分的表格 View 顶部,列表的其余部分列在第二部分。
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
NSFetchedResultsController *frc = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
managedObjectContext:self.managedObjectContext
sectionNameKeyPath:@"favourite"
cacheName:nil];
上面的代码在应用程序中工作并更改收藏夹,但是当我关闭应用程序并重新启动它时,收藏夹没有分组,只是按字母顺序出现在主列表中,它仍然将正确的行数放入最喜欢的部分。
SQL 调试结果
CoreData: sql: SELECT Z_VERSION, Z_UUID, Z_PLIST FROM Z_METADATA
CoreData: sql: SELECT 0, t0.Z_PK, t0.Z_OPT, t0.ZCOUNTRY, t0.ZFAVOURITE, t0.ZLATITUDE, t0.ZLONGITUDE, t0.ZNAME, t0.ZPOSTCODE FROM ZFUNCENTRE t0 ORDER BY t0.ZNAME
CoreData: annotation: sql connection fetch time: 0.0051s
CoreData: annotation: total fetch execution time: 0.0106s for 34 rows.
CoreData: sql: SELECT t0.ZFAVOURITE, COUNT (DISTINCT t0.Z_PK) FROM ZFUNCENTRE t0 GROUP BY t0.ZFAVOURITE ORDER BY t0.ZFAVOURITE
谁能告诉我为什么分组没有重新启动?以及如何更改分组顺序?因为收藏夹出现在底部,我希望它们位于顶部。
非常感谢
最佳答案
当使用 sectionNameKeyPath
时,您必须使用相同的键添加排序描述符(或至少生成相同的相对顺序):
NSSortDescriptor *sort1 = [[NSSortDescriptor alloc] initWithKey:@"favourite" ascending:YES];
NSSortDescriptor *sort2 = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObjects:sort1, sort2, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
关于iphone - 带有 sectionsNameKeyPath 和结果顺序的 NSFetchResultsController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18529033/
这个问题在这里已经有了答案: NSFetchedResultsController with relationship not updating (4 个回答) 7年前关闭。 我正在开发具有 2 个实
这个问题已经有答案了: Type 'AnyObject' does not conform to protocol 'NSFetchRequestResult' (1 个回答) 已关闭 6 年前。 我
我收到这个错误: CoreData: error: Serious application error. An exception was caught from the delegate of NS
我有一个 UITableView 显示来自核心数据实体的对象,这些对象是通过 NSFetchResultController 从 WebServer 接收的。用户可以修改它们并将它们发送回服务器。她还
我有一个 Table View Controller,其中包含由 fetchResultsController 处理的 Formation 列表。 这是我的核心数据实体的样子: 我尝试按 dateRa
我正在使用 NSFetchedResultsController 来填充 UITableView。提取需要一些时间,因此我想在提取过程中向用户展示一个纺车。 我该怎么做? 最佳答案 您应该在主线程中启
我正在这里开发我的第一个 iPhone 应用程序(一个基本的待办事项列表应用程序),并且刚刚将 NSFetchResultsController 添加到我的 TableView 中。我有 2 个部分的
我正在尝试为我在 UITableView 中使用的 NSFetchResultsController 创建一个 NSPredicate。我有 3 个实体,User(一对多)-> Visit(一对多)-
我正在使用NSFetchedResultsController通过coredata加载我的tableView。最近,我在 ManagedObjectModel 中添加了一个新的实体,并进行了 core
我有以下代码: - (NSFetchedResultsController *)fetchedResultsController { // Set up the fetched results
我正在开发一个处理超过 150000 条记录的核心数据项目。使用 NSFetchedResultsController 将记录显示在 TableView 中。这些记录将使用我的实体的不同属性进行排序。
我在使用 NSFetchResultsController 时遇到了一些麻烦,正在寻求一些帮助。 我的 CoreData 实体 FunCentre 具有以下属性 name、latitude、longi
我尝试制作像商店这样的小型应用程序,我将对象内容名称和图像保存在 coreData 中,并尝试使用 NSFetchResultsController 来调用它,但它没有告诉我任何想法 我将我的项目上传
我正在使用 UICollectionView 和 NSFetchResultsController 来呈现不同的照片集。这是我第一次同时使用 UICollectionView 和 NSFetchRes
我有一个为 UITableView 提供数据的 NSFetchResultsController。我在导航栏中有一个添加按钮,允许用户在下一个 View 中添加一个新实体。 在下一个 View 中,我
所以我们在 WWDC 2019 视频 230 中,从大约第 14 分钟开始,据称 NSFetchedResultsController 现在提供了一个 NSDiffableDataSourceSnap
我是一名优秀的程序员,十分优秀!