Ios 使用NSFetchedResultsController在底部UITableView中加载更多内容
当用户在最后一个单元格中时,我想加载更多单元格。我使用CoreData并从中获取数据。我用answer做我想做的事,但它不起作用。会有什么问题?我还有一个问题。我不知道为什么只在第一次实现时工作 首次实施 第二次实施Ios 使用NSFetchedResultsController在底部UITableView中加载更多内容,ios,swift,uitableview,core-data,Ios,Swift,Uitableview,Core Data,当用户在最后一个单元格中时,我想加载更多单元格。我使用CoreData并从中获取数据。我用answer做我想做的事,但它不起作用。会有什么问题?我还有一个问题。我不知道为什么只在第一次实现时工作 首次实施 第二次实施 很难说第一个解决方案为什么会出现,但第二个解决方案没有看到其他代码,这些代码本可以使用fetchedResultsController或调用initilizeFetchedResultsController() 无法获取更多数据的原因是您已将fetchLimit硬编码为10。不管你
很难说第一个解决方案为什么会出现,但第二个解决方案没有看到其他代码,这些代码本可以使用
fetchedResultsController
或调用initilizeFetchedResultsController()
无法获取更多数据的原因是您已将fetchLimit
硬编码为10。不管你做什么,你只会得到10个结果
您需要更改fetchLimit以获取更多数据。看看这个答案——它与您需要做的类似:我就是这样做的,我碰巧得到了一个极限
var fetchedResultsController: NSFetchedResultsController {
let moc = DatabaseController.sharedInstance.managedObjectContext
let fetchRequest = NSFetchRequest()
let entity = NSEntityDescription.entityForName("Coctail", inManagedObjectContext: moc)
fetchRequest.entity = entity
fetchRequest.fetchLimit = 10
fetchRequest.sortDescriptors = [NSSortDescriptor(key: "name", ascending: true)]
let aFetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest,
managedObjectContext: moc,
sectionNameKeyPath: nil,
cacheName: nil)
aFetchedResultsController.delegate = self
do {
try aFetchedResultsController.performFetch()
} catch {
fatalError("\(error)")
}
return aFetchedResultsController
}
func initilizeFetchedResultsController() {
let moc = DatabaseController.sharedInstance.managedObjectContext
let fetchRequest = NSFetchRequest()
let entity = NSEntityDescription.entityForName("Coctail", inManagedObjectContext: moc)
fetchRequest.entity = entity
fetchRequest.fetchLimit = 10
fetchRequest.sortDescriptors = [NSSortDescriptor(key: "name", ascending: true)]
let aFetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest,
managedObjectContext: moc,
sectionNameKeyPath: nil,
cacheName: nil)
aFetchedResultsController.delegate = self
do {
try aFetchedResultsController.performFetch()
} catch {
fatalError("\(error)")
}
fetchedResultsController = aFetchedResultsController
}