gpt4 book ai didi

swift - 嵌套获取请求

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

在我的项目中,我有两个实体:personEntitymunicipalEntity。它们之间存在多对多的逆关系。我在 personEntity 上执行 NSFetchRequest 以获取人员的详细信息:

    let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let context = appDelegate.managedObjectContext
let personRequest = NSFetchRequest(entityName: "personEntity")
let personPred = NSPredicate(format: "surname = %@", "Smith")
personRequest.predicate = personPred
do {
let personsList = try context.executeFetchRequest(personRequest)
// this all clear enough up to this point

此时,我尝试在第一个请求中嵌套第二个谓词 FetchRequest。此请求应在其 peopleInMunicipality 关系属性中搜索 municipalEntity,以查找 personsList 中的对象。

        for selectedPeople in personsList {
let municipalRequest = NSFetchRequest(entityName: "municipalEntity")
let municipalPred = NSPredicate(format: "peopleInMunicipality = %@", selectedPeople)
municipalRequest.predicate = municipalPred
do {
let municipalitiesWithResidentsCalledSmithList = try context.executeFetchRequest(municipalRequest)

然后,编译器提示并建议我需要更改定义第二个谓词的行中的两件事。相反,它建议...

            let municipalPred = NSPredicate(format: "peopleInMunicipality = %@", argumentArray: selectedPerson as? [AnyOject])

编译器现在很高兴,但当我运行代码时,它崩溃并在建议的 argumentArray: 代码部分出现 EXC_BAD_ACCESS 错误。知道如何解决这个问题吗?

最佳答案

瓦迪安是对的。您不需要第二个提取请求。如果 peopleInMunicipality 的反向关系称为 municipalities,则 selectedPeople 的市政当局为 selectedPeople.municipalities

如果您确实想执行第二个提取请求,谓词格式将为 peopleInMunicipality CONTAINS %@

关于swift - 嵌套获取请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35482186/

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