gpt4 book ai didi

ios - 快速的 CoreData 谓词

转载 作者:搜寻专家 更新时间:2023-10-31 22:20:37 24 4
gpt4 key购买 nike

我正在将 CoreData 添加到我的应用程序中。简单的获取是可以的,但是当我尝试使用谓词获取数据时,我在 AppDelegate 中遇到异常。

func fetchWithPredicate(table: String, pred: String)->NSArray
{
var appDel : AppDelegate = (UIApplication.sharedApplication().delegate as! AppDelegate);
var context : NSManagedObjectContext = appDel.managedObjectContext
var request = NSFetchRequest(entityName: table)
request.predicate = NSPredicate(format: pred)//exception occurs on this string
request.returnsObjectsAsFaults = false
var results: NSArray = NSArray()
do{
results = try context.executeFetchRequest(request)
}

catch{}

return results
}

我的谓词如下所示:"routeFormed == %@"+route.identifier!,其中 route.identifierString。我应该向 AppDelegate 或我的实体添加一些东西吗?另外,我用 sqlitebrowser 打开了 .sqlite 文件,我应该使用可见名称或我在数据库 中看到的名称添加谓词(即“routeFormed”或“ZROUTEFORMED”)?

最佳答案

不要将谓词创建为字符串,这必然会失败,但琐碎的案例。创建谓词为

let predicate = NSPredicate(format: "routeFormed == %@", route.identifier)

let predicate = NSPredicate(format: "%K == %@", "routeFormed", route.identifier)

并将其传递给获取请求。谓词中的键是核心数据模型中定义的实体属性的名称检查员。

关于ios - 快速的 CoreData 谓词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38873511/

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