gpt4 book ai didi

ios - Swift 中的 NSFetchedResultsController 计数

转载 作者:搜寻专家 更新时间:2023-11-01 05:39:37 25 4
gpt4 key购买 nike

我是一名 Swift 开发新手,有 Objective-C 背景。

我有以下代码:

class KPCoreDataResultsController: NSObject, NSFetchedResultsControllerDelegate {

var fetchedResultsController: NSFetchedResultsController

let managedObjectContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext!

let entityName: NSString
var delegate: KPCoreDataResultsDelegate?

var predicate: NSPredicate {
get {
return fetchedResultsController.fetchRequest.predicate!
}
set {
fetchedResultsController.fetchRequest.predicate = newValue
do {
try fetchedResultsController.performFetch()
} catch {
print(error)
}
}
}
var sortDescriptor: NSSortDescriptor!
var count: NSInteger {
return (fetchedResultsController.sections!.first!).numberOfObjects
}

init(entityName: String, predicate: NSPredicate, sortDescriptor: NSSortDescriptor) {
self.entityName = entityName
let fetchRequest = NSFetchRequest(entityName: entityName)
fetchRequest.predicate = predicate
fetchRequest.sortDescriptors = [sortDescriptor]
fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: managedObjectContext, sectionNameKeyPath: nil, cacheName: nil)
super.init()
}
}

在自定义 Core Data Results Controller 文件中,以简化对 CoreData 内容的访问。当我从 TableView (numberOfRowsInSection) 调用结果 Controller 的计数属性时,应用程序崩溃并显示:

fatal error: unexpectedly found nil while unwrapping an Optional value

这是 TableView 代码:

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return accountController.count
}

基本上,上面的代码给出了这个错误——我使用的 ! 错了吗?或者这里发生了什么?

最佳答案

尝试类似的东西

  return fetchedResultsController.sections![section].numberOfObjects

关于ios - Swift 中的 NSFetchedResultsController 计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32193295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com