小编dak*_*ath的帖子

核心数据通用获取请求

我使用以下代码从核心数据实体一获取数据:

func fetchDataOne() {
let fetchRequest: NSFetchRequest<One> = One.fetchRequest()
    do {
        fetchRequest.predicate = NSPredicate(format: "questionWasShown == %@", NSNumber(value: false))
        // Save result to result array
        let result = try PersistentService.context.fetch(fetchRequest)

        if result.count > 0 {
             // do some stuff
            }
  }
Run Code Online (Sandbox Code Playgroud)

我计划添加更多实体(20-30)。维护 30 个不同的获取请求将很困难。我想重写这一行

let fetchRequest: NSFetchRequest<One> = One.fetchRequest() 
Run Code Online (Sandbox Code Playgroud)

这样我就可以使用通用代码。我想要实现类似的目标

func fetchData(entity: T) {
 ...
 let fetchRequest: NSFetchRequest<T> = T.fetchRequest()
 ...
 }
Run Code Online (Sandbox Code Playgroud)

在核心数据中可能吗?

core-data swift

2
推荐指数
1
解决办法
2110
查看次数

标签 统计

core-data ×1

swift ×1