需要帮助过滤 Swift 中的核心数据 3
Need help filtering core data in Swift 3
我似乎无法在 Swift 3.
中找到与过滤核心数据相关的任何好的文档或教程
我有以下代码:
let tempVar: String = "abcdef"
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
do {
/* Need code to modify the fetchRequest, so that it only pulls results where the "projectID" field is equal to whatever is stored in the tempVar variable. */
cstProjectDetails = try context.fetch(CSTProjectDetails.fetchRequest())
} catch {
print("There was an error fetching CST Project Details.")
}
基本上,我只是想在 fetchRequest 中添加一个简单的过滤器,以便它只从 "cstProjectDetails" 中提取结果,其中 "projectID" 字段等于先前设置的内容变量(在本例中,"tempVar")。
有什么想法吗?
编辑:检查的答案对我有用,但我必须快速调整请求初始化程序的代码。这是我最终得到的代码:
do {
let request: NSFetchRequest<CSTProjectDetails> = CSTProjectDetails.fetchRequest()
request.predicate = NSPredicate(format: "projectID == %@", cstProjectID)
cstProjectDetails = try context.fetch(request)
print(cstProjectDetails)
} catch {
print("There was an error fetching CST Project Details.")
}
您需要附加到请求的谓词:
let request = CSTProjectDetails.fetchRequest()
request.predicate = NSPredicate(format: "projectID == %@", tempVar)
cstProjectDetails = try context.fetch(request)
我似乎无法在 Swift 3.
中找到与过滤核心数据相关的任何好的文档或教程我有以下代码:
let tempVar: String = "abcdef"
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
do {
/* Need code to modify the fetchRequest, so that it only pulls results where the "projectID" field is equal to whatever is stored in the tempVar variable. */
cstProjectDetails = try context.fetch(CSTProjectDetails.fetchRequest())
} catch {
print("There was an error fetching CST Project Details.")
}
基本上,我只是想在 fetchRequest 中添加一个简单的过滤器,以便它只从 "cstProjectDetails" 中提取结果,其中 "projectID" 字段等于先前设置的内容变量(在本例中,"tempVar")。
有什么想法吗?
编辑:检查的答案对我有用,但我必须快速调整请求初始化程序的代码。这是我最终得到的代码:
do {
let request: NSFetchRequest<CSTProjectDetails> = CSTProjectDetails.fetchRequest()
request.predicate = NSPredicate(format: "projectID == %@", cstProjectID)
cstProjectDetails = try context.fetch(request)
print(cstProjectDetails)
} catch {
print("There was an error fetching CST Project Details.")
}
您需要附加到请求的谓词:
let request = CSTProjectDetails.fetchRequest()
request.predicate = NSPredicate(format: "projectID == %@", tempVar)
cstProjectDetails = try context.fetch(request)