我正在尝试开发时间表应用程序。TableView部分更新依赖于CoreData瞬态属性更改
我有TableViewController它显示当天的类。在viewDidLoad中()我取个教学班,NSFetchedResultsController:
let fetchRequest = NSFetchRequest(entityName: "Lessons")
let predicate = NSPredicate(format: "startsday = '\(dateFormatter.stringFromDate(NSDate()))'", NSDate())
fetchRequest.predicate = predicate
let sortDescriptorStarts = NSSortDescriptor(key: "starts", ascending: true)
let sortDescriptorTitle = NSSortDescriptor(key: "title", ascending: true)
fetchRequest.sortDescriptors = [sortDescriptorStarts, sortDescriptorTitle]
fetchRequest.fetchBatchSize = 30
fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: moc, sectionNameKeyPath: "sectionIdentifier", cacheName: nil)
fetchedResultsController.delegate = self
fetchedResultsController.performFetch(nil)
而当我设sectionNameKeyPath:“sectionIdentifier”(这是一个短暂的财产),他们被分成三组“过去”,“现在”,“下一页“取决于当前的时间。这是工作。我在这里有一个screenshot。
我的问题是:随着时间的推移部分将无法更新
该行应该迁出,并在其他部分中移动,最终他们都应该进入“过去”部分,以及“现在“,”下一步“部分应该被删除。
我可以更新sectionIdentifier瞬态特性,但我fetchedResultController不希望看到的变化...
我不想使用tableView.reloadData(),因为我想要的动画。
(有一个similar的问题,但它的结束是不同的。我不能让我的答案。)
谢谢!