当我加载视图并调用didload
时,我从Core Data执行了fetch
。例如,我有10行记录,现在当我添加新行时,我有1到11行。但是在我添加一个新行之后,我想再次加载最后10行的表视图。如何使用与tableView.reloadData()
相同的抓取执行方式调用didload
?
override func viewDidLoad() {
super.viewDidLoad()
fetchedResultsController = NSFetchedResultsController(fetchRequest: MInstance.getMessagesList(), managedObjectContext: managedObjectContext!, sectionNameKeyPath: nil, cacheName: nil)
fetchedResultsController?.delegate = self
do { try fetchedResultsController?.performFetch() } catch _ {}
// Refresh table view
chatTableView.reloadData()
}
答案 0 :(得分:1)
您应该实现NSFetchedResultsController
controllerWillChangeContent(_:)
controller(_:didChangeObject:atIndexPath:forChangeType:newIndexPath:)
controller(_:didChangeSection:atIndex:forChangeType:)
controllerDidChangeContent(_:)
答案 1 :(得分:0)
在belongs_to
部分中,您可以返回最低10分和FRC找到的项目数。然后,您的tableView刷新应限制为10行。
答案 2 :(得分:0)
你应该使用
override func viewDidAppear(animated: Bool) {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
chatTableView.reloadData()
}
}
然后编辑
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}