核心数据中的关系错误错误

时间:2016-08-09 13:20:47

标签: swift core-data nsfetchrequest

我在我的某个应用中使用了核心数据。两个实体之间存在一对多的关系

事件 (eventId,评论)

注释 (commentId,评论)

从服务API我得到另一个块中的两个事件列表,注释列表和关系。所以我要更新评论。我更新时工作正常。但是,虽然我试图访问特定事件的所有评论

<relationship fault: 0x7fad45884760 'comments'>

以下是我根据ID

获取特定对象的代码
static func fetchObjectWithId(key: String, value: CVarArgType, context: NSManagedObjectContext, entityName: String) -> CoreDataBase!{
    let fetchRequest = NSFetchRequest(entityName: entityName)
    fetchRequest.returnsObjectsAsFaults = false
    if let val = value as? Int32{
        fetchRequest.predicate = NSPredicate(format: "%K = %d", key, val)
    }
    else{
        fetchRequest.predicate = NSPredicate(format: "%K contains[c] %@", key, value)
    }


    do{
        let result = try context.executeFetchRequest(fetchRequest)
        if result.count == 1{
            if let data = result[0] as? CoreDataBase{
                return data
            }
            return nil
        }
        else{
            return nil
        }
    }
    catch{
        let saveError = error as NSError
        print("\(saveError), \(saveError.userInfo)")
    }
    return nil
}

enter image description here

请帮帮我。我在哪里弄错了。

1 个答案:

答案 0 :(得分:1)

第一次访问时会延迟提取故障。如果您希望获取获取请求获取多对多关系对象,则可以添加以下内容:

fetchRequest.relationshipKeyPathsForPrefetching = "Events-Comments Relationship Name"