ios - 获取错误:“无法转换 'NSFetchRequest 类型的值' 到预期的参数类型 'NSFetchRequest'"
问题描述
使用此功能对表格视图中的单元格进行排序。我的获取请求中出现错误。do循环内的行 notes = try context.fetch(request)
导致错误,请求带有下划线
错误提示“无法将 'NSFetchRequest' 类型的值转换为预期的参数类型 'NSFetchRequest'”
我的 TableViewController 文件
import UIKit
import CoreData
class noteTableViewController: UITableViewController {
var notes = [Note]()
var managedObjectContext: NSManagedObjectContext? {
return (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
}
func loadDataFromDatabase() {
let settings = UserDefaults.standard
let sortPriority = settings.string(forKey: Constants.kPriority)
let context = appDelegate.persistentContainer.viewContext
let request = NSFetchRequest<NSManagedObject>(entityName: "Note")
let sortDescriptor = NSSortDescriptor(key: sortPriority)
let sortDescriptorsArray = [sortDescriptor]
request.sortDescriptors = sortDescriptorsArray
do {
notes = try context.fetch(request)
} catch let errer as NSError {
print("Could not fetch. \(error), \(error.userInfo)")
}
}
}
解决方案
尝试这个:
func loadDataFromDatabase() {
...
let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Note")
...
do {
notes = try context.fetch(request) as? [Note] ?? []
} catch let errer as NSError {
print("Could not fetch. \(error), \(error.userInfo)")
}
}
当然,我假设您的Note
课程是NSManagerObject
.
推荐阅读
- php - 计算来自 2 个日期字段的记录总数
- c# - 如何在 LDAP 中搜索允许部分 dn 或 uo 匹配的员工?
- cmake - 如何将带有 ExternalProject_Add 的 zlib 作为依赖项添加到 CMake 项目
- c# - AcceptedAtAction 带正斜杠
- json - 用嵌套对象解析 Json
- flutter - 如何正确处理网页版中的图像回退?
- azure-active-directory - 如何使用 Bicep(或 ARM)创建 AD 应用注册和角色?
- sharepoint - 将 Sharepoint 访问凭据转移给其他用户
- python - PyQT5 QFileDialog窗口标题未在mac上显示
- reactjs - 反应直到第二次请求才返回最新状态