我正在嘗試開發時間表應用程序。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的問題,但它的結束是不同的。我不能讓我的答案。)
謝謝!