gpt4 book ai didi

swift - 抽象核心数据获取请求

转载 作者:行者123 更新时间:2023-11-30 11:57:10 29 4
gpt4 key购买 nike

func fetchRequestFromViewContext(nameOfEntity: NSManagedObject) {
let fetchRequest = NSFetchRequest<nameOfEntity>(entityName: "\(nameOfEntity)")
do {
let result = try? CoreDataStack.instance.viewContext.fetch(fetchRequest)

}
}

尝试抽象核心数据获取请求,因此创建托管对象类型的参数并将其传递到通用获取请求中,但不允许我,我在抽象此核心数据获取请求方面是否走在正确的轨道上?

最佳答案

NSFetchRequest(entityName:)需要 String但是nameofEntity被给出为 NSManagedObject 。将其更改为 String然后还传入实体的类型。您可以使用泛型(下面的<T>)来允许任何符合NSManagedObject的类。 .

func fetchRequestFromViewContext<T: NSManagedObject>(nameOfEntity: String, type: T.Type) {
let fetchRequest = NSFetchRequest<T>(entityName: nameOfEntity)
do {
let result = try? CoreDataStack.instance.viewContext.fetch(fetchRequest)

}
}

要调用它,您只需执行以下操作:

fetchRequestFromViewContext(nameOfEntity: "YourEntity", type: YourEntity.self)

关于swift - 抽象核心数据获取请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47680199/

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