我有每个都有一个类别的项目。我使用 aNSFetchedResultsController
来显示项目并按类别名称将它们分组到部分中。
self.fetchedResultsController = [Item MR_fetchAllSortedBy:@"category.categoryName" ascending:YES withPredicate:nil groupBy:@"category.categoryName" delegate:self];
但是当我如下添加两个新项目时,只有一个具有类别的项目被插入到列表中。如果我重新启动应用程序,没有类别名称的应用程序会显示在顶部,没有部分,就像它应该的那样。
这就是我插入的方式(使用 Magical Record):
Category *category = [Category MR_createEntity];
category.categoryName = @"My Category";
Item *itemWithCategory = [Item MR_createEntity];
itemWithCategory.itemName = @"Item with category";
itemWithCategory.category = category;
Item *itemWithoutCategory = [Item MR_createEntity];
itemWithoutCategory.itemName = @"Item without category";
[[NSManagedObjectContext MR_contextForCurrentThread] MR_saveToPersistentStoreAndWait];
为什么在引用子对象的属性并且该子对象为 nilNSFetchedResultsController
时添加新项目时不会收到通知?sectionNameKeyPath