gpt4 book ai didi

ios - Swift 3/XCode 8 NSManagedObjectContext.fetch 错误

转载 作者:行者123 更新时间:2023-11-28 11:03:27 26 4
gpt4 key购买 nike

我正在迁移到 Swift 3,在迁移抽象 CoreData 查询代码时遇到了一条非常奇怪的错误消息。 entityName传递给以下方法:

func objects(entityName name:String)->[NSManagedObject]? {   
let fetchRequest: NSFetchRequest<NSFetchRequestResult> = NSFetchRequest(entityName:name)
var objects: [NSManagedObject]?
do {
objects = try managedObjectContext.fetch(fetchRequest)
} catch { ... }
}

这会导致以下错误:

Cannot invoke 'fetch' with an argument list of type '(NSFetchRequest<NSFetchRequestResult>)' Expected an argument list of type '(NSFetchRequest<NSFetchRequestResult>)'

错误是说我不能使用它期望的类型。是否可以在 Swift 3 中像这样对 CoreData 进行抽象调用?

帖子How to apply the type to a NSFetchRequest instance?是我走到这一步的原因。

我试着投 fetchRequest ,但它没有改变任何东西。 managedObjectContext.fetch(fetchRequest as! NSFetchRequest<NSFetchRequestResult>)

最佳答案

试试这个:

do {
objects = try managedObjectContext.fetch(fetchRequest) as! [YourEntityName]
} catch {
print(error)
}

关于ios - Swift 3/XCode 8 NSManagedObjectContext.fetch 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39779846/

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