CoreStore如何从未指定的动态对象获取或查询对象

时间:2019-08-21 22:52:25

标签: ios core-data corestore

enter code here我读了此guide,该文件记录得很好。我需要在数据库中进行搜索,并获得一条记录,该记录实际执行提取或查询。

我可以搜索所有记录,而不是指定适当的From子句。

例如

var undefinedObject = CoreStore.fetchAll(
    From(GoThroughAllMyDataBaseEntities),
    Where("%K == %@", "localId", "some string id")
)

print(undefinedObject.id) // as object will be undefined I need to figure out how to get id property from it.

旁注:我的所有实体都是具有id属性的父实体的子对象。

假设我们在CoreData中有下一个实体:

BaseEntity (which includes id)
Playlist
Song

在上面的代码中,我不在乎将返回给我的内容,我只是看到符合以下条件的内容:Where("%K == %@", "localId", "some string id")

我在每个对象中的localId属性也是非常独特的字符串。它们是从NSManagedObjectID中提取的。

因此,CoreData中不可能有相同的重复标识符本地化

如果无法执行此操作,则需要循环所有PlaylistsSongs记录。

在某些情况下,

managedObjectContext.objectWithID(objectID)可能无法正常工作,因为无法保证CoreData记录没有被删除,并且应用重新创建了同一记录的副本,因此实际上,该记录的副本还有另一个{ objectID中的{1}}地址,但仍然从其他记录中复制了localID属性。

0 个答案:

没有答案